docker搭建vsftpd+nginx
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访问文件
本文作者:jfatty