转载 版权声明:本文为CSDN博主「Cadence_D」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.csdn.net/qq_35893120/article/details/119539582
1.下载镜像
docker pull fauria/vsftpd
- 复制以下的 一条命令 后台运行容器,开启端口21, 建立默认用户 :ftpuser 密码:123456
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /home/ftp:/home/vsftpd -e FTP_USER=ftpuser -e FTP_PASS=123456 -e PASV_ADDRESS=106.15.38.88 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
参数说明:
/home/ftp:/home/vsftpd:映射 docker 容器 ftp 文件根目录(冒号前面是宿主机的目录)
-p:映射 docker 端口(冒号前面是宿主机的端口)
-e FTP_USER=ftpuser -e FTP_PASS=123456:设置默认的用户名密码
PASV_ADDRESS:宿主机 ip,当需要使用被动模式时必须设置。
PASV_MIN_PORT~ PASV_MAX_PORT:给客服端提供下载服务随机端口号范围,默认 21100-21110,与前面的 docker 端口映射设置成一样。
以命令的方式创建用户与密码,会在容器中的/home/vsftpd 自动创建用户文件夹ftpuser和virtual_users.txt(存放用户名与密码)
3,防火墙配置
开启以下端口号:
20 、21 、 21100-21110
4、访问服务
电脑命令行CMD,输入用户名与密码 连接
ftp 106.15.38.88
5、创建新用户
进入容器,新建用户名和密码
docker exec -it 容器id /bin/bash
手动创建用户名文件夹,如test
mkdir /home/vsftpd/test
写入账号与密码:test 654321
vi /etc/vsftpd/virtual_users.txt
保存退出后执行如下命令,把登录的验证信息写入数据库。
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
最后退出容器,并重启容器可以使用新用户连接 FTP 服务了。
docker restart 容器id