docker部署vsftp

拉取镜像

docker pull fauria/vsftpd

启动容器

#blogftp
docker run -d \
-v /andy/data1/storage/nginx/www:/home/vsftpd \
-p 720:20 -p 721:21 -p 21100:21100 \
-e FTP_USER=www.telment.com \
-e FTP_PASS=123456! \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21100 \
-e PASV_ADDRESS=192.168.100.123 \
-e LOG_STDOUT=1 \
-e FILE_OPEN_MODE=0777 \
-e PASV_PROMISCUOUS=YES \
--name blogftp \
fauria/vsftpd

#codeftp
docker run -d \
-v /andy/data1/storage/vscode/workspace:/home/vsftpd \
-p 730:20 -p 731:21 -p 21101:21101 \
-e FTP_USER=andy \
-e FTP_PASS=123456! \
-e PASV_MIN_PORT=21101 \
-e PASV_MAX_PORT=21101 \
-e PASV_ADDRESS=192.168.100.123 \
-e LOG_STDOUT=1 \
--name codeftp \
fauria/vsftpd

#特别说明
用户名一定是你要映射的文件夹名
#参数说明
1. -v /home/webapps:/home/vsftpd
  这句话是将宿主机的 /home/webapps 文件夹和容器的 /home/vsftpd 文件夹作一个映射,之后容器中上传的东西都可以在 /home/webapps 中看到。
2. -p 20:20 -p 21:21 -p 21100-21110:21100-21110
    这句话就是原理中的端口映射了,冒号前是宿主机暴露的端口,冒号后是容器实例启动的端口。补充一点是,要映射21端口才能访问ftp,映射20端口才能查看到文件。、
3.  -e FTP_USR and FTP_PASS
  设置初始的ftp用户和密码
4. PASV_ADDRESS=X.X.X.X
  这里需要填写宿主机的ip地址
5. PASV_MIN_PORT和PASV_MAX_PORT都设置成一样的
  此时就仅开放一个端口作为数据端口了
  容器运行起来之后就可以登录测试了。