linux环境下部署vsftpd比较繁琐,可以直接使用docker官方仓库中的pure-ftpd镜像来部署ftp服务器。
下载镜像
docker pull stilliard/pure-ftpd:hardened
启动镜像
docker run --rm -d --name ftpd_server \
-p 2121:21 \
-e FTP_USER_NAME=test -e FTP_USER_PASS=123456 -e FTP_USER_HOME=/home/ftp/test \
-v /home/ftp:/home/ftp \
stilliard/pure-ftpd:hardened
参数说明
连接端口:docker内默认的端口是21,映射成2121
数据端口范围:被动模式默认使用30000-30009端口范围,如果需要修改的话,可以设置环境变量FTP_PASSIVE_PORTS,并将端口映射到宿主机。例如,下面将端口范围设置为30010:30019:
-p 30010-30019:30010-30019 -e FTP_PASSIVE_PORTS=30010:30019
添加用户
用户名、密码和用户主目录可以通过设置环境变量FTP_USER_NAME、FTP_USER_PASS和FTP_USER_HOME来进行配置
如果需要添加其他用户,可以运行docker exec -it ftpd_server /bin/bash进入docker,然后执行下面命令添加
useradd -d /home/ftp/test1 test1
pure-pw useradd test1 -m -u test1 -d /home/ftp/test1