使用Docker创建FTP服务器的过程解析

我们先了解一下FTP

文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输

不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
FTP允许用户以文件操作的方式(如文件的增、删、改、查、传送等)与另一主机相互通信。然而, 用户并不真正登录到自己想要存取的计算机上面而成为完全用户, 可用FTP程序访问远程资源, 实现用户往返传输文件、目录管理以及访问电子邮件等等, 即使双方计算机可能配有不同的操作系统和文件存储方式。

使用 Docker 搭建 FTP 服务,不仅十分简单,而且可以对宿主机有一定的隔离。下面介绍下Docker创建FTP服务器,内容介绍如下所示:

一.创建命令如下

docker run -d -p  21:21 -p  20:20 -p 21100-21110:21100-21110 -v /opt/vsftpd/file:/home/vsftpd -e FTP_USER=admin -e FTP_PASS=1234   -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 -e PASV_ADDRESS=10.73.139.201 -e PASV_ENABLE=YES --name ftp --restart=always --privileged=true fauria/vsftpd

二.命令含义

参数 含义
-d 后台启动容器
-p 20:20 将外部的20端口映射到内部的20端口
-p 21:21 将外部的21端口映射到内部的21端口
-p 21100-21110:21100-21110 将外部的 21100-21110端口映射到内部的21100-21110端口
-v /opt/vsftpd/file:/home/vsftpd 将本地磁盘的 /opt/vsftpd/file路径映射到内部的/home/vsftpd路径
-e FTP_USER=admin ftp的主用户
-e FTP_PASS=1234 ftp主用户的密码
-e PASV_MIN_PORT=21100 最小被动端口
-e PASV_MAX_PORT=21110 最大被动端口
-e PASV_ADDRESS=10.73.139.201 指定本机的ip
-e PASV_ENABLE=YES 启动被动模式
–name vsftpd 取一个名字,之后可以用(docker stop 名字 )来停止容器
–restart=always 开机自启动
–privileged=true 容器内用户获取root权限
fauria/vsftpd 仓库的镜像

三.客户端连接

1.客户端可以直接安装filezilla进行连接

如果你的客户端连接不上,你需要用telnet命令来看下

telnet  10.73.139.201 21

如果报错,那可能是防火墙没有打通

2.如果是mac用户,也可以用终端的ftp命令进行连接

ftp 10.73.139.201

输入账号admin,密码1234

然后ls命令,如果报错

500 Illegal PORT command.
500 Unknown command.
425 Use PORT or PASV first.

可以在ftp下执行以下命令

pass

输出

Passive mode on

这个时候,就可以正常的ls了

到此这篇关于Docker创建FTP服务器的文章就介绍到这了,更多相关Docker FTP服务器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(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 \

  • 使用Docker创建FTP服务器的过程解析

    我们先了解一下FTP 文件传输协议(File Transfer Protocol,FTP)是用于在网络上进行文件传输的一套标准协议,它工作在 OSI 模型的第七层, TCP 模型的第四层, 即应用层, 使用 TCP 传输 不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证.FTP允许用户以文件操作的方式(如文件的增.删.改.查.传送等)与另一主机相互通信.然而, 用户并不真正登录到自己想要存取的计

  • Python socket模块ftp传输文件过程解析

    这篇文章主要介绍了Python socket模块ftp传输文件过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 使用环境:python3,window环境,需要在头部声明# -*- coding:utf-8 -*- 实现功能: 将sever端所处文件夹的文件,传输到client端所处的文件夹中. 并且通过md5检测是否出错. 客户端命令的形式是: get 文件名 client处的新文件是 文件名.new ftp_sever.py impo

  • 使用Docker搭建MQTT服务器的过程详解

    1. 拉取镜像 docker pull registry.cn-hangzhou.aliyuncs.com/synbop/emqttd:2.3.6 2. 运行镜像 –name 名字 -p 18083 服务器启动端口 -p 1882 TCP端口 -p 8083 WS端口 -p 8084 WSS端口 -p 8883 SSL端口 -d 指定容器 docker run --name emq -p 18083:18083 -p 1883:1883 -p 8084:8084 -p 8883:8883 -p

  • Docker部署nGrinder性能测试平台过程解析

    什么是nGrinder? nGrinder是用于压力测试的平台,使您可以同时执行脚本创建,测试执行,监视和结果报告生成器.开源nGrinder通过消除不便并提供集成环境,提供了进行压力测试的简便方法.它是根据Apache许可版本2.0许可的,是基于Grinder的开源的web性能测试平台,由韩国最大互联网公司NHN公司的开发团队进行了重新设计和完善. http://naver.github.io/ngrinder/ nGrinder由三个组件组成 controller:一个Web应用程序,使性能

  • Docker容器简单部署nginx过程解析

    1.容器中部署nginx服务 centos:7镜像运行一个容器,并且,在这个容器内部署Nginx服务. [root@Docker ~]# docker pull centos:7 //下载镜像 [root@Docker ~]# docker run -itd --name webapp --restart=always centos:7 //运行一个容器名为:webapp [root@Docker ~]# docker cp nginx-1.16.0.tar.gz webapp:/root //

  • Docker创建本地镜像实现方法解析

    所谓的容器实际上是在父镜像的基础上创建了一个可读写的文件层级,所有的修改操作都在这个文件层级上进行,而父镜像并未受影响,如果读者需要根据这种修改创建一个新的本地镜像,有两种不同的方式,本文先来看第一种方式:commit. 创建容器 首先,根据本地镜像运行一个容器,如下: 命令解释: 首先执行docker images命令,查看本地镜像. 根据本地镜像中的nginx镜像,创建一个名为nginx的容器,并启动. 将宿主机中一个名为index.html的文件拷贝到容器中. 访问容器,发现改变已经生效.

  • Docker部署Rabbitmq容器实现过程解析

    1.拉取镜像 首先执行如下命令将镜像下载到本地: 注意:rabbitmq 是官方镜像,该镜像不带控制台.如果想要安装带控制台的镜像,则需要在拉取镜像时附带 tag 标签,例如:rabbitmq:management. docker pull rabbitmq:management 2.创建挂载本地的data目录 mkdir -p /home/rabbitmq/data 3,启动容器 (1)执行如下命令实例化 RabbitMQ 服务: docker run --name rabbitmq -d -

  • Windows下pycharm创建Django 项目(虚拟环境)过程解析

    1. 背景 我在 Windows 下的 pycharm 直接创建 全新 Django 项目 会 pip 和其他报错 ,暂时解决不了,另外后续的多个项目只需要一套python 环境, 所以可以 利用 virtualenv 创建一个 虚拟环境,pycharm 创建的 Django 项目 在选择解释器的时候 选择虚拟环境的解释器. 2. virtualenv 安装 https://www.jb51.net/article/170070.htm 在 虚拟环境里面 安装 Django 版本 1.11.24

  • Linux下使用vsftp搭建FTP服务器(附参数说明)

    介绍 本章主要介绍在Linux中搭建FTP服务器的过程,需要掌握的要点是配置文件的合理配置. 知识点 在linux中使用的FTP是vsftp FTP可以有三种登入方式分别是: 匿名登录方式:不需要用户密码 本地用户登入:使用本地用户和密码登入 虚拟用户方式:也是使用用户和密码登入,但是该用户不是linux中创建的用户 安装FTP 使用YUM安装 yum -y install vsftpd 文件配置 安装完之后在/etc/vsftpd/路径下会存在三个配置文件. vsftpd.conf: 主配置文

  • FTP 服务器的部署和维护心得

    而笔者每次解决用户的一个需求之后,总会有一种成就感.这不前不久笔者刚文成一个FTP服务器的搭建.不过这个案例有点特殊,因为其FTP服务器采用的操作系统是Linux.为此感悟就更多了. 心得一:为用户分配组 FTP服务器常用来放置一些工作文件.为此网络管理员在部署FTP服务器的时候,必须要注意其权限的管理.也就是说,要做到用户只能够下载自己有权利查看的工作文件;只能够往指定的目录中上传文件等等.而企业中员工很多.如果为每个员工分开来设置权限,那么工作两会很大.为此在FTP服务器管理中,最好也跟操作

随机推荐