通过 Docker 快速部署一个 FTP 服务

发布于:6/28/2020, 3:39:48 PM @孙博
技术分享 | FTP,VSFTPD
许可协议:署名-非商业性使用(by-nc)

为了方便管理服务器上的文件,通常我们会在服务器上安装FTP的服务,用来帮助我们上传和下载。传统的方案是在服务器上安装及配置vsftpd,但是这种方案会“弄脏”我们的服务器,并且在我们需要更换机器时,重新部署一套相同的程序,会比较麻烦。

能Docker的服务,最好还是部署在Docker中。 这样可以让我们实现将应用和配置一并打包的效果,无论我们是否需要更换机器,我们的服务都可以跟随着镜像部署到任意机器上。就像Java写的程序,只要是机器上有JVM,就可以随便运行一样。

下面就是一个示例的代码。


docker run \
    -d -v <Server Folder>:/home/vsftpd \
    -p 20:20 -p 21:21 \
    -p 20000-21000:20000-21000 \
    -e FTP_USER=<FTP User Account> \
    -e FTP_PASS=<FTP User Password> \
    -e PASV_ADDRESS=<Server IPv4> \
    -e PASV_MIN_PORT=20000 \
    -e PASV_MAX_PORT=21000 \
    --name vsftpd \
    --restart=always \
    fauria/vsftpd

# Server Folder: 服务器(宿主机)存放FTP文件的目录
# FTP User Account:用来登录FTP服务的帐号(与宿主机帐号无关)
# FTP User Password:用来登录FTP服务的密码(与宿主机帐号无关)
# Server IPv4:服务器(宿主机)的IPv4的地址

需要详细了解的可以查看DockerHub的说明:点我跳转