Vsftpd(Very Secure FTP Daemon)是運行在 類unix(Unix-like) 上的 FTP 伺服器。
該鏡像使用 alpine 為基底建置,鏡像大小總和不到 10MB。
用戶認證採用 libpam-pwdfile,使用 /etc/vsftpd/addftpuser
創建用戶時,用戶列表會儲存在 /etc/vsftpd/vsftpd-virtual-user
。
啟用或變更被動模式,僅需更改 vsftpd.env
,在啟用容器時,會自動帶入參數。如果要做更多的配置應用,直接掛載配置檔即可。
使用下面指令,運行最新版的 vsftpd 應用,預設為主動模式:
$ docker run --name vsftpd \
-p 20:20 \
-p 21:21 \
-d 48763/vsftpd
如果使用時,遇到 500 Illegal PORT command
,請使用被動模式。
初次運行時,請使用下面指令新增用戶和密碼:
$ docker exec vsftpd \
/bin/sh addftpuser yuki P@ssw0rd
使用目錄掛載,以配置或本地保存資料。
運行時,掛載配置檔和用戶資料:
$ docker run --name vsftpd \
-p 20:20 \
-p 21:21 \
-v $(pwd)/vsftpd:/etc/vsftpd \
-d 48763/vsftpd
運行時,掛載儲放用戶的目錄資料:
$ docker run --name vsftpd \
-p 20:20 \
-p 21:21 \
-v /data:/data \
-d 48763/vsftpd
參數 | 描述 | 預設值 | 相依參數 |
---|---|---|---|
PASV_ENABLE | NO | - | |
PASV_MIN_PORT | 60,000 | PASV_ENABLE | |
PASV_MAX_PORT | 61,000 | PASV_ENABLE |
想要啟用被動模式,只要編輯 vsftpd.env
在運行即可:
$ vi vsftpd.env
PASV_ENABLE=YES
$ docker run --name vsftpd \
-p 20:20 \
-p 21:21 \
-p 60000-61000:60000-61000 \
--env-file vsftpd.env \
-d 48763/vsftpd
想要變更被動模式的傳輸埠,只要編輯 vsftpd.env
在運行即可:
$ vi vsftpd.env
PASV_MAX_PORT=48763
PASV_MIN_PORT=40000
$ docker run --name vsftpd \
-p 20:20 \
-p 21:21 \
-p 40000-48763:40000-48763 \
--env-file vsftpd.env \
-d 48763/vsftpd
[1] alpine, FTP, English
[2] Archlinux, Very Secure FTP Daemon, English
[3] tiwe-de, libpam-pwdfile, English