Docker 使用 vsFTP 搭建 FTP 映射

阅读时长 3 分钟读完

在前端开发中,我们可能需要通过 FTP 上传或下载文件到服务器上,而在本地使用 FTP 客户端时需要进行端口映射等配置,不方便且容易出错。而 Docker 则为我们提供了一种更加便捷,稳定的方式。

我们可以使用 Docker 镜像中的 vsFTPd 服务来搭建 FTP 映射,并通过 Docker Network 实现容器间的通信,使得我们可以在本地使用 FTP 客户端来访问运行在容器中的 vsFTPd 服务,实现方便的文件上传和下载。

准备工作

在开始操作之前,请确保你已经在本地安装了 Docker

启动 vsFTPd 服务

我们可以选择下载已经打好的 vsFTPd 镜像:

然后我们创建一个 Docker 容器,通过下面的 Docker 命令来启动 vsFTPd 服务:

命令含义及参数解释如下:

  • -d:表示以后台方式运行容器;
  • --name ftp:容器的名称;
  • -p 20-21:20-21:容器端口和本地端口映射,这里表示将容器内部的 20 和 21 端口映射到本地服务器的 20 和 21 端口;
  • -p 21100-21110:21100-21110:同上,映射 PASV 模式使用的端口范围;
  • -v /data/ftp:/home/vsftpd:将本地磁盘上的 /data/ftp 目录挂载到容器内部的 /home/vsftpd 目录,这样上传的文件就会存储在本地磁盘上;
  • -e FTP_USER=user:设置用户名为 user
  • -e FTP_PASS=passwd:设置密码为 passwd,请自行替换为复杂的密码;

启动后,通过 docker ps 命令查看容器是否运行成功。

FTP 客户端使用

在本地 FTP 客户端中,我们需要连接的 FTP 服务器主机名即我们上面启动的 vsFTPd 服务的 IP,这里可以直接使用 localhost 或者本机 IP 地址。端口号则对应我们映射的外部和内部端口,即 20-21 以及 21100-21110

用户名和密码则是我们在启动容器时设置的 FTP_USERFTP_PASS

如果你使用的是 Mac 系统,可以使用系统自带的 Finder 应用来连接 FTP 服务器,打开 Finder 后按下快捷键 command + k,在弹出的窗口中填写 FTP 服务器地址、用户名、密码等信息即可。

总结

通过使用 Docker 容器来搭建 FTP 服务器,我们可以避免在本地配置 FTP 服务所需要的环境,提升了开发效率。而此外,还可以借助 Docker Compose 实现多个容器间的相互连接,以及通过一些插件来进行备份和恢复操作等等。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f6dc0bf6b2d6eab3f65ba0

纠错
反馈