安装
1.创建 目录
2. 启动脚本
#!/bin/bash
docker run \
--name vsftpd \
-p 20:20 -p 21:21 -p 33361-33365:33361-33365 \
-v /docker/vsftp/ftpfile:/home/vsftpd \
-e FTP_USER=admin \
-e FTP_PASS=!Admin123 \
-e PASV_ADDRESS=10.3.0.221 \
-e PASV_MIN_PORT=33361 \
-e PASV_MAX_PORT=33365 \
--restart=always \
-d fauria/vsftpd
3. 访问
ftp://10.3.0.221 账密 admin/!Admin123
4. 如何创建一个新的用户
docker exec -it vsftpd /bin/bash
vi /etc/vsftpd/virtual_users.txt
# 这里的 admin 用户跟密码是安装的时候创建的
# 这里创建一个新用户
admin
!Admin123
tomma
tomm123
# 保存数据库
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
# 设置新用户家目录
mkdir -p /home/vsftpd/tomma
# 改变目录权限
chown ftp:ftp /home/vsftpd/tomma/
如何增加外网映射
本例使用的 FTP被动模式(PASV模式)
是指客户端通过指令端口如上 21 连接到服务器后,服务端提供一个数据连接端口如上 33361到33365,告知客户端请通过我提供的数据端口发送/下载数据
1、修改 PASV 地址成外网地址
#!/bin/bash
docker run \
-p 20:20 -p 21:21 -p 33361-33365:33361-33365 \
-v /docker/vsftp/ftpfile:/home/vsftpd \
-e FTP_USER=admin \
-e FTP_PASS=!Admin123 \
-e PASV_ADDRESS=114.113.225.26 \
-e PASV_MIN_PORT=33361 \
-e PASV_MAX_PORT=33365 \
--name vsftpd \
--restart=always \
-d fauria/vsftpd
# -e PASV_ADDRESS 需要改成外网地址
2、防火墙映射
需要映射的端口
连接端口:21
数据端口:33361-33365