项目需要进行升级服务,现在需要基于centos 7使用docker来快速打架一个FTP环境来方便本地文件上传。
本次使用的是 pure-ftpd docker镜像,有关镜像使用的详细信息,本人是从 https://hub.docker.com/r/stilliard/pure-ftpd/ 上获取的。
下面简单记录一下FTP服务器的搭建过程:
1、下载镜像 docker pull stilliard/pure-ftpd
2、运行
docker run -d --name ftpd_server -p 21:21 -p 30000-30009:30000-30009 -e "PUBLICHOST=localhost" -v /home/java_server/auto-update:/home/ftpusers -v /home/dockers/ftpd/etc/passwd:/etc/pure-ftpd/passwd -v /home/dockers/ftpd/etc/ssl:/etc/ssl/private stilliard/pure-ftpd:latest
重点说明一下卷映射信息:
-v /home/java_server/auto-update:/home/ftpusers 将本地/home/java_server/auto-update目录映射为容器的/home/ftpusers目录,在容器中目录为tp文件上传目录,理论上每个用户在该目录下拥有自己的专属子目录。
-v /home/dockers/ftpd/etc/passwd:/etc/pure-ftpd/passwd 容器中的/etc/pure-ftpd/passwd目录存ftp用户信息( A directory containing the single pureftps.passwd
file which contains the user database)
-v /home/dockers/ftpd/etc/ssl:/etc/ssl/private 容器SSH的证数支持项目存储映射
3、添加ftp用户
3.1 连接到容器 docker exec -it ftpd_server /bin/sh
3.2 执行用户添加操作
pure-pw useradd 要新建的用户名 -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/新用户子目录
然后根据提示输入密码,创建用户工作完成。
4、ftp连接测试
注:服务器记得打开30000-30009,pure-ftpd数据端口。