項目里有個遠程升級的需求,需要用到ftp服務器,Linux下搭建麻煩,所以采用docker,后期直接考就行,搞這個也是踩了半天的坑,特來記錄下爬坑的過程
1.docker拉取ftp鏡像
docker pull fauria/vsftpd
2.啟動ftp服務器
啟動ftp服務器
docker run -d -p 21:21 -p 20:20 -p 21100-21110:21100-21110 -v /home/harry/devicemanagement/test/uploadfile/upgrade:/home/vsftpd/root/upgrade -e FTP_USER=root -e FTP_PASS=123456 -e PASV_ADDRESS=宿主ip -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd
注:紅色標記從左到右: 映射端口: 21--控制用 20--數據傳輸用 掛載的本機文件路徑:/home/harry/devicemanagement/test/uploadfile/upgrade ftp容器的掛載位置:/home/vsftpd/root/upgrade FTP_USER:用戶 FTP_PASS:密碼 PASV_ADDRESS:宿主ip
3.進去容器內部
sudo docker exec -it vsftpd /bin/bash
4.退出容器
exit
特別注意:坑來了
一切搞完,服務器也啟動了,看着ftp已經好了,但是死活訪問不到ftp里的文件,網上的各種方法都試過了還是不行,最后發現只能訪問到根目錄,所有我懷疑掛載位置可能是特定的,於是各種試,終於試出來了,ftp內部的掛載位置必須在/home/vsftpd/root/目錄下,重新配完啟動,好了,出來了

