FROM alpine:3.7
ADD http://dl-4.alpinelinux.org/alpine/edge/testing/x86_64/pure-ftpd-1.0.47-r0.apk /root
RUN apk add --allow-untrusted /root/pure-ftpd-1.0.47-r0.apk
RUN mkdir /ftpconf /ftp && \
chmod 0777 /ftp && \
cp /etc/pure-ftpd.conf /ftpconf && \
touch /ftpconf/pure-ftpd.pdb
EXPOSE 21 30000:30010
VOLUME /ftpconf /ftp
CMD pure-ftpd -lpuredb:/ftpconf/pure-ftpd.pdb -lunix -A -c 5 -C 5 -p 30000:30010
#docker build -t test .
#docker run -d --privileged=true -p 21:21 -p 30000-30010:30000-30010 -v /ftpconf:/ftpconf -v /ftp:/ftp --name=ftpd test
#docker exec -it ftpd sh -l
#pure-pw useradd jack -u ftp -D /ftp -m
#chmod 0777 /ftp
#pure-pw mkdb /ftpconf/pure-ftpd.pdb
-v 物理机目录:容器内目录
有的时候,确实不想重构容器,但是程序代码更新了怎么办呢?
也许是我的传统思维在作怪,还是用ftp上传程序代码。
几经调试,终于能在docker下使用pureftpd了。
有一个问题,我在alpine中运行pureftpd可以使用windows映射网络驱动器,在docker中运行pureftpd就不能映射成功,但是ftp客户端都可以正常使用。