1,拉取镜像

首先执行如下命令将镜像下载到本地:

​docker pull fauria/vsftpd

2,启动容器

执行如下命令实例化 ftp 服务:

参数说明:

  • /var/ftp:/home/vsftpd:映射 docker 容器 ftp 文件根目录(冒号前面是宿主机的目录,建议宿主机使用 /var 这样公共权限文件夹,如果使用类似 /home 这样的目录可能会造成客户端无法连接上服务器问题)
  • -p:映射 docker 端口(冒号前面是宿主机的端口)
  • -e FTP_USER=test -e FTP_PASS=test :设置默认的用户名密码(都为 test
  • PASV_ADDRESS:宿主机 ip,当需要使用被动模式时必须设置。
  • PASV_MIN_PORT~ PASV_MAX_PORT:给客服端提供下载服务随机端口号范围,默认 21100-21110,与前面的 docker 端口映射设置成一样。

​docker run -d -v /​​var​​/ftp:/home/vsftpd /​​​

​-p 20:20 -p 21:21 -p  21100-21110:21100-21110 /​

​-e FTP_USER=test -e FTP_PASS=test /​

​-e PASV_ADDRESS=192.168.60.128 /​

​-e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 /​

​--name vsftpd --restart=always fauria/vsftpd​

3,防火墙配置

    如果 CentOS 服务器有防火墙,为了让客户端能够访问 ftp 服务。我们可以关闭防火墙,或者执行如下命令配置 firewall 防火墙策略:

   关闭防火墙

4,新建用户文件夹

(1)首先执行如下命令进入到容器里面:

​docker ​​​​exec​ ​-i -t vsftpd bash​

​mkdir​ ​/home/vsftpd/test​​​

vi /home/vsftpd/test/1.txt

5,访问服务

附:增加一个新用户

(1)首先执行如下命令进入到容器里面:

​docker ​​​​exec​ ​-i -t vsftpd bash​

(2)创建新用户的文件夹:

​mkdir /home/vsftpd/hangge

​(3)编辑用户配置文件:

​vi /etc/vsftpd/virtual_users.txt

zym2

zym2

​(5)保存退出后执行如下命令,把登录的验证信息写入数据库

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

​(6)最后退出容器,并重启容器可以使用新用户连接 FTP 服务了。

​exit​

​docker restart vsftpd​