VOLUME在inheritance的图像中的奇怪行为

我有2个Dockerfile

这是a

 FROM ubuntu:14.04 RUN mkdir /opt/test RUN touch /opt/test/test.txt VOLUME /opt/test 

这里是b

 FROM a RUN touch /opt/test/b.txt 

然后我build立我的图像:

 cd a && sudo docker build -ta . && cd ../b && sudo docker build -tb . 

而我运行b图像:

 sudo docker run -i --rm --name b -tb /bin/bash 

在我的b容器中,我无法正常看到/opt/test/b.txt文件。

 root@4db094589f0d:/# ls /opt/test/ test.txt 

如果我从我a Dockerfile删除VOLUME /opt/test ,那么我会正确地看到我的/opt/test/b.txt

有人能解释我为什么吗?

更新图像时不会包含对数据量的更改

如果文件为空,您可以使用脚本来创build文件。