Docker一行命令完成FTP服务搭建的实现

一行命令

docker run -d \
-v /share:/home/vsftpd \
-p 20:20 \
-p 21:21 \
-p 21100-21110:21100-21110 \
-e FTP_USER=zhaoolee \
-e FTP_PASS=eelooahz \
-e PASV_ADDRESS=47.106.108.135 \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21100 \
--name zhaoolee_vsftpd \
--restart=always \
fauria/vsftpd

参数解释:

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

-v 表示设置目录映射 设置举例 -v /share:/home/vsftpd 将宿主机的/share目录映射到docker容器的/home/vsftpd (用户zhaoolee登录后, 程序会在/home/vsftpd文件夹下, 自动新建一个zhaoolee文件夹, 用来存放上传的文件)

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

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

  • 主动模式: 21端口为ftp默认的端口,是ftp的控制端口, 而20端口是ftp的数据端口, 21端口用来接收客户端连接, 20端口用来传输数据; 服务器(主动地)定下规矩,客户端与服务端建立连接, 那通过21端口, 想传数据就通过20端口, 20端口和21端口结合到一起就是ftp的主动模式
  • 被动模式: 主动模式有一些安全性问题, 如果有人想攻击你的ftp服务, 就直接到20端口堵你, 为了避免数据出门被人堵, 就出现了被动模式, 被动模式把传数据的20端口, 改成了范围, 比如上文中的21100-21110, 具体哪个值由客户端来定(比如21115), 这样传出的数据就不容易被人堵,安全性大大提升, 现在大多数ftp客户端,默认使用被动模式连接服务器, 也就是由客户端定传数据的端口

-e 表示追加参数

FTP_USER 为ftp登录用户名, 设置示例 FTP_USER=zhaoolee

FTP_PASS 为ftp登录密码, 设置示例 FTP_PASS=eelooahz

PASV_ADDRESS 为外网ip , 设置示例PASV_ADDRESS=104.243.20.148 (非常重要: 这里一定要绑定宿主机对外的ip, 否则后面会连不上, zhaoolee在这里调了好久...)

PASV_MIN_PORT为客户端连接服务器的最小端口号为21100 (被动模式下服务端最小端口号)

PASV_MAX_PORT为客户端连接服务器的最大端口号为21110 (被动模式下服务端最大端口号)

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

--restart=always 表示 restart可以

fauria/vsftpd 代表镜像名

用阿里云做个测试

开启 端口20 , 端口21, 端口段21100-21110

创建容器

连接测试(FillZilla下载链接: https://filezilla-project.org/download.php?type=client)

通过ftp上传文件

小结:

ftp是一个常用的服务, 这里使用vsftp的docker方式完成搭建, 一行命令搞定
docker镜像 fauria/vsftpd 开源地址: https://github.com/fauria/docker-vsftpd, 可以找到详细的操作文档

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • docker pure-ftp 搭建ftp服务器的方法

    1.采用docker-compose搭建ftp服务器 docker-compose.yml的内容如下 ftp: image: stilliard/pure-ftpd volumes: - "../wp/app:/home/ftpusers/code" - "./pure-ftpd:/etc/pure-ftpd" ports: - "21:21" - "30000:30000" - "30001:30001"

  • Docker一行命令完成FTP服务搭建的实现

    一行命令 docker run -d \ -v /share:/home/vsftpd \ -p 20:20 \ -p 21:21 \ -p 21100-21110:21100-21110 \ -e FTP_USER=zhaoolee \ -e FTP_PASS=eelooahz \ -e PASV_ADDRESS=47.106.108.135 \ -e PASV_MIN_PORT=21100 \ -e PASV_MAX_PORT=21100 \ --name zhaoolee_vsftpd \

  • Windows server 2012下FTP服务搭建图文教程

    本文为大家分享了Windows server 2012下FTP服务搭建教程,供大家参考,具体内容如下 1.进入Windows server 2012系统,打开服务器管理器,选择添加角色和功能 2.选择安装类型及服务器选择 3.找到Web服务器(IIS)并选择,添加功能完成后点击下一步 4.接下来两个地方因为我们是搭建FTP,直接选择下一步即可 5.找到FTP服务器并选择,然后选择下一步 6.这里我们选择安装,等待安装完成后选择关闭 完成后 1.在指定的盘下创建FTP目录,用于各个用户之间各自 访

  • 详解CentOS7 FTP服务搭建(虚拟用户访问FTP服务)

    概述 最近在搞Oracle在Linux系统下集群,针对Linux系统,笔人也是一片空白.Liunx外部文件的传输,避免不了使用FTP服务,所以现在就整理下,CentOS7环境下,FTP服务的搭建.FTP服务器需要安装vsftp服务端软件.我们知道,在建立vsftpd用户时,我们一般是在linux下建立用户useradd的方式来访问ftp,但有时我们只想提供ftp服务,而避免用户用ftp的帐号去登录linux,采用一般的方式只能是限制该用户的访问权限,但还是避免不了用户登录进linux系统,所以

  • linux中ftp服务搭建需要注意的地方

    1.配置文件 /etc/vsftpd 目录下的vsftpd.conf文件 # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settings are fairly paranoid. This sample file # loosens things up a bit, to make the ftp daemon more usable. # Please see vsftpd.conf.5 fo

  • Windows Server 2008 R2 ent下FTP服务搭建教程

    前言 最近搞了一个阿里云的服务器,里面装的win server 2008 r2系统. 通过mstsc远程连接服务没什么问题,但是传文件的时候遇到问题了. 以前用的都是linux操作系统,通过filezilla可以连接服务器传输文件.但是对这个win server系统,用filezilla却连不上了. 后来才知道,原来linux系统自带ftp服务,而win server默认是没有这个服务的.所以,就需要我们自己搭建一个ftp服务站点. 安装iis服务 1.打开系统下方菜单栏左下角的图标 实际上这玩

  • Windows IIS配置与Ftp服务搭建

    (一)WEB站点建立 1)首先要先安装相应的服务,在Windows添加组件里选择应用程序服务器 证书服务.2)然后便出现下图,是按CA证书时需要做的设置3)添加公司名称4)然后是证书的库文件5)温馨提示 呵呵 点是就可以了.要不然不让继续阿6)接着做WEB站点 点开始-管理工具---IIS管理器,右击网站-新建网站7)网站描述,将会显示在你的管理服务器上的名字8) 给网站配个 IP地址 80端口默认打开9) 选择路径,前提是你要先建立一个文件夹作为网站的文件存放地10) 客户访问网站的一些权限设

  • windows Server 2008R2 FTP服务器搭建图文教程

    windows Server 2008R2 FTP服务器搭建 一.安装ftp服务 1.打开服务器管理器,如图: 2.右键点击角色,如图: 3.点击添加角色,会出现添加角色向导对话框,如图: 4.点击下一步,选择要添加的"web服务器(IIS)" 5.点击下一步,如图: 6.点击下一步,勾选FTP服务器,如图: 7.点击下一步,出现确认安装选择对话框,如图: 8.点击安装即可 二.创建FTP用户 1.找到服务器管理器--配置--本地用户和组,如图: 2.找到本地用户和组--用户,如图:

  • 使用Docker搭建Vsftpd 的 FTP 服务的详细过程

    目录 FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务 前言 使用 Docker 搭建 Vsftpd 的 FTP 服务 后记 参考 FTP 基础 与 使用 Docker 搭建 Vsftpd 的 FTP 服务 前言 最近的工作中,需要将手机上的文件发送到公司的 FTP 的服务器.按照从前的思路,自然是,先将文件传到电脑,再由电脑上传到 FTP 服务器上:经过一份搜索后找到了 质感文件 这个 Android 应用,这样就可以通过无线网直接连接 FTP 服务器了. FTP 基

  • 最新window server 2012搭建FTP服务的详细步骤

    目录 基本概念介绍 FTP文件传输协议 一.安装FTP服务 1.打开服务器管理器 2.默认配置 3.弹出的窗口点击“添加功能”,继续下一步. 4.功能列表中选择“ISS可承载web核心”.下一步. 5.角色服务中勾选FTP服务,如果管理工具中IIS项也最好勾选上,如图. 6.点击安装,等待安装完成. 二.配置ftp服务 7.回到“服务器管理器”,从工具栏选择IIS管理器. 8.在IIS管理器中,右击“网站”,选择“添加FTP站点”. 9.站名随便写,并选择一个物理地址. 10.按图配置,选择无S

  • 基于Docker+K8S+GitLab/SVN+Jenkins+Harbor搭建持续集成交付环境的详细教程

    环境搭建概述 亲爱的家人们可以到链接:http://xiazai.jb51.net/202105/yuanma/javayaml_jb51.rar  下载所需要的yaml文件. 1.K8S是什么? K8S全称是Kubernetes,是一个全新的基于容器技术的分布式架构领先方案,基于容器技术,目的是实现资源管理的自动化,以及跨多个数据中心的资源利用率的最大化. 如果我们的系统设计遵循了kubernetes的设计思想,那么传统系统架构中那些和业务没有多大关系的底层代码或功能模块,都可以使用K8S来管

随机推荐