docker 中安裝文件服務器 vsftpd

之前直接在 centos 上面搭建 vsftpd,特別費勁,那麼多配置的地方,以及繁瑣的操作。就想着在 docker 上面去試試,畢竟有這麼簡單的方式去搭建,幹不用。

搭建過程

第一步:準備工作

創建一個文件夾,作爲我們上傳文件的目錄地址;創建一個用戶(不能登錄系統),作爲訪問文件服務器使用。

//  創建 ftp文件目錄
cd /home
mkdir ftp

// 創建一個組,用於存放ftp 用戶
groupadd ftpuser
 
// 創建ftp用戶,並加入ftpgroups組
useradd -d /home/ftp -g ftpuser ftptest

// 設置密碼(123456)
passwd ftptest

// 不允許登錄
usermod -s /sbin/nologin ftptest

第二步:拉取鏡像

// 首先搜索鏡像包
docker search vsftpd

// 拉取鏡像
docker pull fauria/vsftpd

第三步:啓動容器

PASV_ADDRESS 這個參數是需要設置成爲自己的機器上面的

docker run -d -v /home/ftp:/home/vsftpd \
-p 20:20 -p 21:21 -p  21100-21110:21100-21110 \
-e FTP_USER=ftptest -e FTP_PASS=123456 \
-e PASV_ADDRESS=192.168.62.129 \
-e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 \
--name vsftpd --restart=always fauria/vsftpd

相關參數說明:

  • /home/ftp:/home/vsftpd:映射 docker 容器 ftp 文件根目錄(冒號前面是宿主機的目錄)
  • -p:映射 docker 端口(冒號前面是宿主機的端口)
  • -e FTP_USER=test -e FTP_PASS=test :設置默認的用戶名密碼(都爲 test)
  • PASV_ADDRESS:宿主機 ip,當需要使用被動模式時必須設置。
  • PASV_MIN_PORT~ PASV_MAX_PORT:給客服端提供下載服務隨機端口號範圍,默認 21100-21110,與前面的 docker 端口映射設置成一樣。

測試

// 切換路徑
cd /home/ftp/ftptest

// 創建文件
touch 1.txt

瀏覽器訪問:

ftp://ftptest:[email protected]:21

// 如果防火牆沒開,執行下面命令
firewall-cmd --permanent --add-port=20/tcp
firewall-cmd --permanent --add-port=21/tcp
firewall-cmd --reload

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章