Docker安装FTP服务器

2022-06-13 14:16:48

在我们安装好Docker以后,就可以在Docker中安装我们要安装的服务了,比如本文中,我们安装FTP服务。

安装Docker

搜索FTP镜像

FTP镜像有多个,我们可以搜素看看有哪些镜像,然后选择自己需要的镜像,不过一般来说,不过一般来说,就像我们购物一样,都是选择销量高。

docker search vsftpd

如下搜索中,我们看到fauria/vsftpd这个镜像点赞最多,因此我们就用这个了。
在这里插入图片描述

拉取最新版本的fauria/vsftpd镜像到本地

docker pull fauria/vsftpd

等待如下下载。
在这里插入图片描述

使用FTP镜像创建FTP容器

有两种方式,一个是带用户创建容器,一个是不带用户创建容器。以下方式二选一即可。

带用户创建FTP容器(推荐使用,因为会主动创建用户)

如下命令不能直接执行,执行之前先替换几个变量
PASV_ADDRESS : 需改为自己的宿主机ip
-p : 进行端口绑定映射
-v : 进行文件目录的映射
FTP_UESRFTP_PASS如果设定了会在container的/etc/vsftpd/virtual_users.txt里面(即带用户创建容器)
PASV_MIN_PORTPASV_MAX_PORT映射的是被动模式下端口使用范围
如下命令执行后,会创建ftp容器,并且ftp的登录用户名为:ftphutao,密码为ftp@hutao,访问地址为:ftp://49.232.70.33

docker run-d-p 20:20-p 21:21-p 21100-21110:21100-21110-v/Ftpfile:/home/vsftpd-e FTP_USER=ftphutao-e FTP_PASS=ftp@hutao-e PASV_ADDRESS=49.232.70.33-e PASV_MIN_PORT=21100-e PASV_MAX_PORT=21110--name vsftpd--restart=always fauria/vsftpd

不带用户创FTP建容器

创建时参数未加入用户名和密码,系统会默认创建admin和随机密码。

docker run-d-p 20:20-p 21:21-p 21100-21110:21100-21110-v/Ftpfile:/home/vsftpd-e PASV_ADDRESS=<宿主机ip>-e PASV_MIN_PORT=21100-e PASV_MAX_PORT=21110--name vsftpd--restart=always fauria/vsftpd

进入FTP容器

docker exec-i-t vsftpd bash

编辑配置文件写入用户名和密码

vi/etc/vsftpd/virtual_users.txt

注意使用vi编辑指令,其中奇数行为用户名,临近的下一个偶数行为密码,

添加新用户的文件夹,以用户名命名

mkdir-p/home/vsftpd/<新用户名>

hash处理登录的验证信息并写入数据库

/usr/bin/db_load-T-t hash-f/etc/vsftpd/virtual_users.txt/etc/vsftpd/virtual_users.db

退出FTP容器

exit或Ctrl+D

重启FTP容器

docker restart vsftpd

访问FTP服务

ftp://<ip地址>
在这里插入图片描述
如下,创建一个test的文件夹
在这里插入图片描述
然后刷新浏览器页面,看看能否看到test
在这里插入图片描述
至此,安装完毕

  • 作者:歪桃
  • 原文链接:https://blog.csdn.net/m0_37892044/article/details/110912700
    更新时间:2022-06-13 14:16:48