linux下使用docker方式部署ftp服务器

linux环境下部署vsftpd比较繁琐,可以直接使用docker官方仓库中的pure-ftpd镜像来部署ftp服务器。

下载镜像

docker pull stilliard/pure-ftpd:hardened

启动镜像

docker run --rm -d --name ftpd_server \
-p 2121:21 \
-p 30010-30019:30010-30019 -e FTP_PASSIVE_PORTS=30010:30019 \
-e FTP_USER_NAME=test -e FTP_USER_PASS=123456 -e FTP_USER_HOME=/home/ftp/test \
-e PUBLICHOST=x.x.x.x \
-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

PUBLICHOST:被动模式下,服务器会将服务器地址发送给客户端,但是服务器是部署在内网,所以需要将真实的公网地址告诉客户端,这里配置的就是服务器的真实公网地址

添加用户

用户名、密码和用户主目录可以通过设置环境变量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

  

posted @ 2019-04-11 15:09  lasdaybg  阅读(3038)  评论(0编辑  收藏  举报