Docker 镜像拉取

1
docker pull fauria/vsftpd

创建容器

直接添加用户名和密码创建容器,需要修改用户名、密码、宿主机IP:

1
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e FTP_USER=user -e FTP_PASS=userpwd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

或创建容器后再设置用户名和密码:

1
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd

进入容器并修改账号密码

1
docker exec -i -t vsftpd bash
1
vi /etc/vsftpd/virtual_users.txt

奇数行为用户名,偶数行为密码

创建用户文件夹

1
mkdir -p /home/vsftpd/<新用户名>

刷新用户配置

1
/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

退出容器并重启

1
exit
1
docker restart vsftpd

验证

访问 ftp://<宿主机ip>

优化

  • 支持中文字符集
1
docker exec -i -t vsftpd bash
1
vi /etc/profile

添加

LANG
1
2

```source /etc/profile

退出并重启容器