docker run -d \
-v /share:/home/vsftpd \
-p 20:20 \
-p 21:21 \
-p 21100-21110:21100-21110 \
-e FTP_USER=zhaoolee \
-e FTP_PASS=eelooahz \
-e PASV_ADDRESS=47.106.108.135 \
-e PASV_MIN_PORT=21100 \
-e PASV_MAX_PORT=21100 \
--name zhaoolee_vsftpd \
--restart=always \
fauria/vsftpd
-d 表示新建容器在后台运行
-v 表示设置目录映射 设置举例 -v /share:/home/vsftpd
将宿主机的/share
目录映射到docker容器的/home/vsftpd
(用户zhaoolee
登录后, 程序会在/home/vsftpd
文件夹下, 自动新建一个zhaoolee
文件夹, 用来存放上传的文件)
-p 为映射端口 -p 20:20
表示将宿主机20
端口映射到docker容器的20
端口,-p 21:21
表示将宿主机21端口映射到docker容器的21
端口, -p 21100-21110:21100-21110
表示将宿主机的21100
到21110
端口映射到docker容器的21100
到21110
端口
与端口密切相关的是主动模式和被动模式两种连接方式
-e 表示追加参数
FTP_USER 为ftp登录用户名, 设置示例 FTP_USER=zhaoolee
FTP_PASS 为ftp登录密码, 设置示例 FTP_PASS=eelooahz
PASV_ADDRESS 为外网ip , 设置示例PASV_ADDRESS=104.243.20.148
(非常重要: 这里一定要绑定宿主机对外的ip, 否则后面会连不上, zhaoolee在这里调了好久...)
PASV_MIN_PORT为客户端连接服务器的最小端口号为21100 (被动模式下服务端最小端口号)
PASV_MAX_PORT为客户端连接服务器的最大端口号为21110 (被动模式下服务端最大端口号)
--name zhaoolee_vsftpd 表示容器名为 zhaoolee_vsftpd(这个名字可以自定义)
--restart=always 表示 restart可以
fauria/vsftpd 代表镜像名
20
, 端口21
, 端口段21100-21110