今天时间有限,就测试了这三种ftp,最后还是推荐大家使用pure-ftpd。特别是需要用到一些同步软件的时候。
一、stilliard/pure-ftpd (功能强大)https://hub.docker.com/r/stilliard/pure-ftpd
创建容器
#创建volume docker volume create pure-ftpd-passwd #创建容器 (注意:PUBLICHOST 是 docker物理机地址) docker run -d -p 21:21 -p 30000-30009:30000-30009 -e "PUBLICHOST=10.1.1.32" -e FTP_USER_NAME=yujing -e FTP_USER_PASS=wtugeqh -e FTP_USER_HOME=/home/ftpusers/yujing -v pure-ftpd-passwd:/etc/pure-ftpd/passwd -v /home/pure-ftpd:/home/ftpusers --name ftpd_server --restart=always stilliard/pure-ftpd
创建用户
#添加用户 用户名 文件夹 docker exec -it ftpd_server /bin/bash pure-pw useradd yy -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/yy docker restart ftpd_server #修改密码 pure-pw passwd yujing -f /etc/pure-ftpd/passwd/pureftpd.passwd -m二、vsftpd (小巧)
地址:https://hub.docker.com/r/fauria/vsftpd
创建容器
#创建volume docker volume create vsftpd_log #创建容器 (注意:PASV_ADDRESS 是 docker物理机地址) docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -e FTP_USER=yujing -e FTP_PASS=wtugeqh -e PASV_ADDRESS=10.1.1.32 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 -e pasv_promiscuous=YES -v vsftpd_log:/var/log/vsftpd -v /home/vsftpd:/home/vsftpd --name vsftpd --restart=always fauria/vsftpd
创建用户
#进入容器,创建用户,用户文件夹,账号n密码 docker exec -i -t vsftpd bash mkdir /home/vsftpd/yy echo -e "yynwtugeqh" >> /etc/vsftpd/virtual_users.txt /usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db exit #重启容器 docker restart vsftpd三、fclairamb/ftpserver (小巧)(无法进入容器)
开源地址:https://github.com/fclairamb/ftpserver
创建容器
docker run -d -v /ftp/tmp:/tmp -v /ftp/app:/app --name ftpserver --restart=always --net=host fclairamb/ftpserver
创建用户
#添加或修改用户 nano /ftp/app/ftpserver.json docker restart ftpserver #访问:ftp://192.168.1.82:2121/



