当我像-v / dir:/ dir那样传递音量时,它的工作方式应该是
但是当我在我的dockerfile中使用VOLUME时,它会变为空白
我的Dockerfile看起来像这样
FROM ubuntu:16.04
RUN apt-get update
RUN apt-get install nano
ENV Editor="/usr/bin/nano"
ARG UID=1000
RUN useradd -u "$UID" -G root writer
RUN mkdir -p "/home/writer" && chown -R "$UID":1000 "/home/writer"
RUN mkdir -p "/home/stepik"
RUN chown -R "$UID":1000 "/home/stepik"
VOLUME ["/home/stepik"]
USER writer
WORKDIR /home/stepik
ENTRYPOINT ["bash"]
答案 0 :(得分:5)
在Dockerfile上定义卷只告诉docker卷需要存在于容器内,而不是从哪里获取卷。它与传递选项-v /dir
而不是-v /dir:/dir
相同。结果是一个匿名的"你可以在docker volume ls
中看到的带有guid的音量。您无法通过Dockerfile中的选项来确定从哪里安装卷,从docker hub中提取的图像无法从主机安装任意目录并将该目录的内容发送到黑色设计在互联网上的帽子机器。
请注意,我不建议在Dockerfile中定义卷。有关详细信息,请参阅my blog post on the topic。