docker--FTP服务器

1、拉取镜像(bogem/ftp)

sudo docker pull bogem/ftp 

2、生成FTP服务器

sudo docker run -d -v <host folder>:/home/vsftpd \
                -p 20:20 -p 21:21 -p 21100-21110:21100-21110 \
                -e FTP_USER=<username> \
                -e FTP_PASS=<password> \
                -e PASV_ADDRESS=<ip address of your server> \
                --name ftp \
                --restart=always bogem/ftp

   参数解释:

             -d 表示新建容器在后台运行

             -v 表示设置目录映射 设置举例 -v <host folder>:/home/vsftpd 将宿主机的目录映射到docker容器的/home/vsftpd ;需要注意的是(用户<username>登录后, 程序会在/home/vsftpd文件夹下, 自动新建一个<username>文件夹, 用来存放上传的文件)

             -p 为映射端口  -p 20:20 表示将宿主机20端口映射到docker容器的20端口,-p 21:21 表示将宿主机21端口映射到docker容器的21端口, -p 21100-21110:21100-21110 表示将宿主机的21100到21110端口映射到docker容器的21100到21110端口

             -e 表示追加参数,FTP_USER 为ftp登录用户名、FTP_PASS为ftp登录密码、PASV_ADDRESS 为ftp服务器器的 ip(外网ip)

            --name ftp 表示容器名为 ftp(这个名字可以自定义)

            --restart=always 表示 docker重启的时,容器自动启动

   3、补充说明

        与端口密切相关的是主动模式和被动模式两种连接方式

       

        3.1、主动模式: 21端口为ftp默认的端口,是ftp的控制端口, 而20端口是ftp的数据端口, 21端口用来接收客户端连接, 20端口用来传输数据; 服务器(主动地)定下规矩,客户端与服务端建立连接, 那通过21端口, 想传数据就通过20端口, 20端口和21端口结合到一起就是ftp的主动模式

        3.2、被动模式: 主动模式有一些安全性问题, 如果有人想攻击你的ftp服务, 就直接到20端口堵你, 为了避免数据出门被人堵, 就出现了被动模式, 被动模式把传数据的20端口, 改成了范围, 比如上文中的21100-21110, 具体哪个值由客户端来定(比如21115), 这样传出的数据就不容易被人堵,安全性大大提升, 现在大多数ftp客户端,默认使用被动模式连接服务器, 也就是由客户端定传数据的端口

 

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值