Docker | 搭建一个ftp服务器

前期准备

名称地址说明
阿里云服务器阿里云翼计划系统镜像选择Ubuntu1604 server版
Xshell+XftpXshell和Xftp免费试用

分别用于ssh、ftp连接服务器

安装vsftpd

参阅:

  • 搜索vsftpd镜像
    docker search vsftpd

  • pull最新版镜像到本地
docker pull fauria/vsftpd

运行docker镜像并创建对应的Container

# 包含用户名和密码
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e FTP_USER=user -e FTP_PASS=userpwd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
# 不包含用户名和密码
docker run -d -p 20:20 -p 21:21 -p 21100-21110:21100-21110 -v /Ftpfile:/home/vsftpd -e PASV_ADDRESS=<宿主机ip> -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
提示:

PASV_ADDRESS需改为自己的宿主机ip
-p 进行端口绑定映射
-v 进行文件目录的映射
FTP_UESR 和FTP_PASS如果设定了会在container的
/etc/vsftpd/virtual_users.txt里面
PASV_ADDRESS指的的宿主机地址
PASV_MIN_PORT和PASV_MAX_PORT映射的是被动模式下端口使用范围
必须在服务器的防火墙中开启20、21、22和21100/21110端口

  • 进入vsftpd镜像对应的container中
    docker exec -i -t vsftpd bash

  • 编辑配置文件写入用户名和密码
    vi /etc/vsftpd/virtual_users.txt
    提示:
    
    注意使用vi编辑指令,其中奇数行为用户名,临近的下一个偶数行为密码,创建container时参数未加入用户名和密码,系统会默认创建admin和随机密码.
    添加新用户的文件夹,以用户名命名
    mkdir -p /home/vsftpd/<新用户名>
    
    hash处理登录的验证信息并写入数据库
    /usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db
    
    退出container
    exit或Ctrl+D
    
    重启container
    docker restart vsftpd
    
    验证ftp
    ftp://<宿主机ip>
    

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值