使用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了
栏 目:其它服务器
本文地址:https://zz.feitang.co/server/32328.html
您可能感兴趣的文章
- 12-20Kubernetes中使用临时容器进行故障排查的方法
- 12-20Nginx设置HTTPS的方法步骤
- 12-20二进制方式安装 Kubernetes1.18.3版本实现脚本
- 12-20Nginx工作模式及代理配置的使用细节
- 12-20ZooKeeper分布式协调服务设计核心概念及安装配置
- 12-20Kubernetes部署可视化地图的十个步骤
- 12-20关于docker清理Overlay2占用磁盘空间的问题(亲测有效)
- 12-20Docker compose配置文件写法及命令使用示例
- 12-20openwrt安装docker并启动的操作方法
- 12-20云原生Kubernetes初始化容器Init使用教程


阅读排行
推荐教程
- 12-07一文教你怎么选择Tomcat对应的JDK版本
- 12-07新版Eclipse集成Tomcat时找不到server选项的解决方法
- 12-06IIS7 应用程序池自动回收关闭的解决方案
- 12-05Windows Server 2019安装VMware
- 12-05Windows服务器默认IE浏览器无法下载文件的解决方法
- 12-05Docker安装Jenkins全过程
- 12-19Zabbix SAML SSO 登录绕过漏洞的操作流程
- 12-15Docker-Compose搭建Spark集群的实现方法
- 12-14Docker Desktop无法正常启动解决(failed to start...)
- 12-14k8s 与docker空间使用分析与清理方法





