1-Docker - 搭建FTP服务器
before
centos7.3 + docker 18.06.3 + fauria/vsftpd
docker中,常用的有ftp服务器镜像有:
- fauria/vsftpd *****
- stilliard/pure-ftpd ***
- panubo/vsftpd **
这里推荐前两个!
fauria/vsftpd
安装
- 拉取镜像:
docker pull fauria/vsftpd
- 启动
docker run \
-d \
-v /docker_data/vsftpd:/home/vsftpd \
-p 20:20 \
-p 21:21 \
-p 21100-21110:21100-21110 \
-e PASV_ADDRESS=192.168.85.132 \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21110 \
--name vsftpd \
--restart=always \
fauria/vsftpd
上述参数基本可以照抄,就-e PASV_ADDRESS=192.168.85.132
这个参数的的ip是宿主机的ip地址,当需要使用被动模式时必须设置。
创建用户
- 进入容器交互式环境:
docker exec -it -u root vsftpd bash
- 手动创建一个用户目录,目录名即用户名:
mkdir /home/vsftpd/zhangkai
- 编辑用户和密码:
vi /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
当你使用ftp工具(我这用的是Xftp)上传文件之后,即将将文件上传到挂载卷指向的宿主机的/docker_data/vsftpd/zhangkai
,zhangkai
目录内就是你个人用户的文件存放路径,上传的文件就是在这个目录下。
我们可以在浏览器进行访问ftp://zhangkai:666@192.168.85.132:21
:
PS:如果有登录提示,就输入账号和密码进行登录。
question
WARNING: IPv4 forwarding is disabled. Networking will not work.
在第一次使用docker run
的时候(或者出现无法从外部连接到ftp服务器的时候),执行如下命令:
systemctl restart network && systemctl restart docker
然后再重新尝试。
欢迎斧正,that's all,see also:
linux下使用docker方式部署ftp服务器 | 使用 Docker 快速搭建 FTP 服务 | 使用Docker快速搭建FTP服务器 |
Docker使用pure-ftp的方法及配置 | Docker Pure-ftpd Server | Docker - 在容器中搭建运行FTP服务器(vsftpd) | fauria/vsftpd | docker 中安装文件服务器 vsftpd