【发布时间】:2017-02-06 02:05:51
【问题描述】:
Dockerfile
FROM nginx:1.7
# Deliberately declaring VOLUME before RUN
VOLUME /var/tmp
RUN touch /var/tmp/test.txt
观察
现在我相信我理解之前声明 VOLUME 语句的含义了
创建test.txt - 运行时暴露的卷/var/tmp 将基于创建test.txt 文件之前的中间容器,因此它将为空(希望这个观察是正确的)
所以正如预期的那样,下面的docker run 没有显示test.txt:
docker run kz/test-volume:0.1
但后来我尝试在运行时提供音量如下:
docker run -v /var/tmp kz/test-volume:0.1
问题
结果是一样的。那么这是什么意思? docker run 命令中的-v /var/tmp 是否映射到Dockerfile 中VOLUME 命令公开的空/var/tmp 目录,而不是最新映像中带有test.txt 的/var/tmp 目录?
感觉有点迷茫。
【问题讨论】:
标签: docker dockerfile docker-volume docker-image