使用docker建立一個sftp伺服器

最近工作需要使用SFTP抓取資料,在本機建立模擬環境就需要使用docker建立一個sftp伺服器

使用docker指令

先建立一個upload資料夾,放置你要作為SFTP檔案的目錄

docker run \
-v ./upload:/home/user/my/upload/ \
-p 2222:22 -d atmoz/sftp \
user:user@pass:::my/upload/

上面指令的帳號密碼就是user,user@pass

sftp目錄則是/my/upload,透過-v映射到本機./upload


使用compose指令

首先,你需要下面這樣一個docker-compose.yml,

並且在同目錄建立一個upload資料夾,放置你要作為SFTP檔案的目錄

version: "3.8"

services:
sftp:
container_name: sftp-container-name
image: docker.io/atmoz/sftp
ports:
- 2222:22/tcp
volumes:
- ./upload/:/home/${SFTP_USR}/my/upload/
command: "${SFTP_USR}:${SFTP_PWD}:::my/upload"

你可以.yml中的SFTP_USR和SFTP_PWD置換成你喜歡的帳號密碼,或是寫在.env檔案裡頭讓compose自動讀取它們

FTP上的預設檔案路徑則是寫在command的最後一段,這裡舉例就是/my/upload


參考資料

  1. https://ithelp.ithome.com.tw/articles/10249127
  2. https://hub.docker.com/r/atmoz/sftp


留言