目 录CONTENT

文章目录

【最佳实践】Docker部署FTP实现跨平台文件传输

Marionxue
2022-03-15 / 0 评论 / 0 点赞 / 275 阅读 / 1367 字 / 正在检测是否收录...
温馨提示:
文章发布较早,内容可能过时,阅读注意甄别。

不同电脑之间传递文件真实头疼,现在U盘也使用的很少了,对于大文件来说16G的文件也需要特殊的处理一下,即使能传输大文件,Mac上没有带转接口也是很头疼,各种不爽,想想还是利用Docker简易部署一个FTP Server用于临时的文件传输吧。

mkdir ftpdir
docker run -d \ 
  -p 21:21 \
  -p 20:20 \
  -p 21100-21110:21100-21110 
  -v $(PWD)/ftpdir:/home/vsftpd \
  -e FTP_USER=marionxue \
  -e FTP_PASS=passwd \
  -e PASV_ADDRESS=192.168.0.220 \
  -e PASV_MIN_PORT=21100 \
  -e PASV_MAX_PORT=21110 \
  --name vsftpd \
  --restart=always fauria/vsftpd

在使用的上面的命令时,需要将PASV_ADDRESS修改为你的本地地址,以下对一些参数进行解释说明:

-p: 进行端口绑定映射
-v: 添加容器数据卷
-e: FTP_USER=marionxue -e FTP_PASS=passwd 添加一个初始化用户marionxue
PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围

用户验证配置

# 登录容器内
docker exec -it vsftpd bash 

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

#假如我们添加了user用户,我们需要建立对应用户的文件夹
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

然后即可在window上找一个FTP软件远程连接即可

window上使用FileZilla上传文件

0

评论区