引言
最近有个需求,想每天定时把服务器的数据备份到另一台服务器上,发现宝塔面板可以挂载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
注意事项
- 请修改
FTP_USER
及FTP_PASS
,分别对应用户名及密码; PASV_MIN_PORT
PASV_MAX_PORT
是被动模式下端口使用范围,要与映射出来的端口相对应;- 请将
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)