Dockerで自己証明書付きFTPSサーバを起動するメモ
Dockerfileの記述
FROM stilliard/pure-ftpd
RUN mkdir -p /etc/ssl/private && \
openssl dhparam -out /etc/ssl/private/pure-ftpd-dhparams.pem 2048 && \
openssl req -subj '/CN=ftps.local/O=DOCKER/C=JP' -x509 -nodes -newkey rsa:2048 -sha256 -keyout \
/etc/ssl/private/pure-ftpd.pem \
-out /etc/ssl/private/pure-ftpd.pem && \
chmod 600 /etc/ssl/private/*.pem
CMD /run.sh -c 5 -C 5 -l puredb:/etc/pure-ftpd/pureftpd.pdb -E -j -R -P $PUBLICHOST -p 30000:30009 -s -A -j -Z -H -4 -E -R -G -X -x
ビルド
docker build -t=ftpd .
起動
docker run -d --name ftpd \
-p 21:21 \
-p 30000-30009:30000-30009 \
-e "PUBLICHOST=localhost" \
-e "ADDED_FLAGS=--tls=2" \
ftpd
ユーザ追加
docker exec -it ftpd /bin/bash
pure-pw useradd {user_name} -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /home/ftpusers/{user_name}