服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

云服务器|WEB服务器|FTP服务器|邮件服务器|虚拟主机|服务器安全|DNS服务器|服务器知识|Nginx|IIS|Tomcat|

服务器之家 - 服务器技术 - FTP服务器 - 使用Docker创建FTP服务器的过程解析

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

2022-08-27 11:05其樂无穷 FTP服务器

这篇文章主要介绍了使用Docker创建FTP服务器的过程解析,使用 Docker 搭建 FTP 服务,不仅十分简单,而且可以对宿主机有一定的隔离,对Docker创建FTP服务器的过程感兴趣的朋友一起看看吧

我们先了解一下FTP

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

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

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

一.创建命令如下

?
1
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命令来看下

?
1
telnet  10.73.139.201 21

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

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

?
1
ftp 10.73.139.201

输入账号admin,密码1234

然后ls命令,如果报错

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

可以在ftp下执行以下命令

?
1
pass

输出

Passive mode on

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

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

原文链接:https://blog.csdn.net/qq_25955145/article/details/123923695

延伸 · 阅读

精彩推荐