FROM alpine
MAINTAINER [email protected]
COPY chfs /chfs
COPY config.ini /srv/config.ini
VOLUME ["/home"]
VOLUME ["/srv"]
EXPOSE 8080
ENTRYPOINT ["/chfs","--file=/srv/config.ini"]
#构建镜像
docker build -t hqhyco/chfs .
#构建容器
docker run -d --name chfs -p 8080:8080 -v /home:/home hqhyco/chfs
#config.ini的内容
port=8080
path=/home
rule=::r|admin:123456:d
log=/srv/chfs/logs
html.title=家里蹲的狐狸
html.notice=注意注意!私人网盘!
image.preview=true
遇到的问题:
VOLUME [“/srv”]是否可以省略,可以省略,但是能否用 -v来替换config.ini呢?
答案是可以的
docker run -d --name chfs -p 8080:8080 -v /home:/home -v /root/config.ini:/srv/config.ini hqhyco/chfs
chfs如果不在宿主机上赋予执行权限,容器里也会没有运行权限
会出现”exec: \”/chfs\”: permission denied”: unknown.
#别人写的chfs,可以对比一下
FROM alpine
ENV SHARE="/home"
COPY chfs /opt/chfs/chfs
RUN chmod +x /opt/chfs/chfs
EXPOSE 80
CMD /opt/chfs/chfs --rule="::r|root:admin:r:home:rw" --path=$SHARE