这篇文章主要介绍了使用Docker创建FTP服务器的过程解析,使用 Docker 搭建 FTP 服务,不仅十分简单,而且可以对宿主机有一定的隔离,对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服务器内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:使用Docker创建FTP服务器的过程解析


基础教程推荐
- Docker容器操作方法详解 2022-11-13
- Apache Kafka 2.5 稳定版发布,新特性抢先看 2023-09-11
- windows环境下apache-apollo服务器搭建 2023-09-10
- 为Win2003服务器打造铜墙铁壁的方法步骤 2022-09-01
- 通过StatefulSet部署有状态服务应用实现方式 2022-10-01
- P3 利用Vulnhub复现漏洞 - Apache SSI 远程命令执行漏洞 2023-09-10
- Centos7 nginx的安装以及开机自启动的设置 2023-09-22
- Apache CarbonData 1.0.0发布及其新特性介绍 2023-09-11
- Centos 安装Django2.1 2023-09-24
- RFO SIG之openEuler AWS AMI 制作详解 2022-12-28