场景:在自己电脑虚拟机CentOS7上使用docker跑了一个VSFTPD的镜像,结果代码只能通过主动模式连接,无法通过被动模式连接。最后发现是启动命令的问题。
有效命令如下:
docker run -d -v /home/ftp:/home/vsftpd -p 20:20 -p 21:21 -p 21100-21120:21100-21120 -e FTP_USER=zcgl -e FTP_PASS=ZcGl2021.10 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21120 -e PASV_ADDRESS_ENABLE=YES -e PASV_ADDRESS_RESOLVE=YES -e PASV_ENABLE=YES -e PASV_ADDRESS=192.168.88.104 --name vsftpd fauria/vsftpd
PASV_ENABLE代表启用被动模式
PASV_ADDRESS代表被动模式连接地址