menu jfatty
search self_improvement
目录
docker搭建vsftpd+nginx
jfatty
jfatty 2020年11月14日  ·  阅读 2,078

1.创建ftp用,设置密码

useradd ftpuser
passwd ftpuser

2.拉取vsftpd镜像

docker pull fauria/vsftpd

3.启动vsftpd容器

docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /data:/home/vsftpd -e FTP_USER=ftpuser -e FTP_PASS=123456 -e PASV_ADDRESS=192.168.126.100 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 -e LOCAL_UMASK=0 -e FILE_OPEN_MODE=0777 -e ANON_UMASK=0777 --name vsftpd fauria/vsftpd
  • -p 进行端口绑定映射
  • -v 进行文件目录的映射
  • FTP_UESR 和FTP_PASS如果设定了会在container的
    /etc/vsftpd/virtual_users.txt里面
  • PASV_ADDRESS指的的宿主机地址
  • PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围
    必须在服务器的防火墙中开启20、21、22和21100/21110端口
  • LOCAL_UMASK=0 上传后文件的权限
  • FILE_OPEN_MODE=0777 上传后文件的权限
  • ANON_UMASK=0777 上传后文件的权限

4.关闭防火墙

systemctl stop firewalld.service 
systemctl disable firewalld.service

5.nginx镜像拉取与运行容器

docker pull nginx:1.8
docker run --name nginx -tid -p 80:80 -p 443:443  -v /data/ftpuser:/usr/share/nginx/html nginx:1.8

-v 将宿主机的/data/ftpuser挂载在容器的/usr/share/nginx/html 并设置文件夹权限

chmod -R 777 /data/ftpuser/

6.测试ftp上传文件与nginx访问文件

分类: docker Linux
标签: nginx ftp