Docker搭建FTP服务器

枫殇NET开发
2021-03-05 / 0 评论 / 51 阅读 / 正在检测是否收录...

引言

最近有个需求,想每天定时把服务器的数据备份到另一台服务器上,发现宝塔面板可以挂载FTP且定时任务也能够设置备份到FTP中,那么就需要搭建一个FTP了,但是我的另一台服务器又不想在真实机器上搭建FTP,因此就用Docker搭建了。

Docker部署

创建容器

$ mkdir -p /docker/vsftpd
$ docker run -d \ 
  -p 21:21 \
  -p 20:20 \
  -p 21100-21110:21100-21110 
  -v /docker/vsftpd:/home/vsftpd \
  -e FTP_USER=ftpuser \
  -e FTP_PASS=ftppass \
  -e PASV_ADDRESS=192.168.1.2 \
  -e PASV_MIN_PORT=21100 \
  -e PASV_MAX_PORT=21110 \
  --name vsftpd \
  --restart=always fauria/vsftpd

注意事项

  1. 请修改 FTP_USERFTP_PASS,分别对应用户名及密码;
  2. PASV_MIN_PORT PASV_MAX_PORT是被动模式下端口使用范围,要与映射出来的端口相对应;
  3. 请将PASV_ADDRESS修改为你相应的本地地址

用户验证配置

# 进入容器内shell
$ docker exec -it vsftpd bash 

# 如果需要创建新用户,需要将用户和密码接入到以下文件内,默认里面包含了Docker启动容器时候创建的用户名和密码
$ cat /etc/vsftpd/virtual_users.txt
ftpuser
ftppass

#假如我们添加了user用户,我们需要在 /home/vsftpd/ 目录下建立相对应用户的目录
$ mkdir /home/vsftpd/user

#把登录的验证信息写入数据库 
$ /usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db

重启容器

docker restart vsftpd

到此部署完毕,在Windows上找一个FTP客户端进行连接验证后就可以提供给宝塔使用了。

0

评论 (0)

取消