目次

31 Docker FTP Server

Dockerで、FTPサーバを立てる。

1. git clone

# mkdir /app
# cd /app
# git clone https://github.com/stilliard/docker-pure-ftpd.git
# cd docker-pure-ftpd

2.設定変更

ログを出力させたいので、設定変更してimageをbuildし直す

ログ出力するよう修正

# vi run.sh
PURE_FTPD_FLAGS=" $@ $ADDED_FLAGS "
↓
PURE_FTPD_FLAGS=" $@ $ADDED_FLAGS=-d -d "

再build

これで、my-pure-ftpというimageができます。

# docker build --rm -t my-pure-ftp .

3. docker-compose.yml修正

imageを変更と、環境に合わせてHOSTNAMEなど変更

docker-compose.yml

    image: stilliard/pure-ftpd
    ↓
    image: my-pure-ftp
    
    ports:
      - "21:21"
      - "30000-30009:30000-30009"
    ↓
    ports:
      - "21:21"
      - "30000-30109:30000-30109"

    environment:
      PUBLICHOST: "localhost"
      FTP_USER_NAME: username
      FTP_USER_PASS: mypass
      FTP_USER_HOME: /home/username
    ↓
    environment:
      PUBLICHOST: "[HOSTNAME]"
      FTP_USER_NAME: [USER]
      FTP_USER_PASS: [PASS]
      FTP_USER_HOME: /home/username
      FTP_MAX_CLIENTS: 50
      FTP_PASSIVE_PORTS: "30000:30109"

※デフォルトだと、FTP_MAX_CLIENTSは5になっている。

4.起動

# docker-compose up -d

5.ログ確認

これでログを表示させながら、FTP接続してみる
DEBUG多いと見ずらいので、NOTICEとINFOだけ出力が良いかも

# docker-compose logs --tail 10 -f | grep 'NOTICE\|INFO'