为了方便管理服务器上的文件,通常我们会在服务器上安装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的说明:点我跳转