dir中的文件也是VOLUME?

时间:2017-06-05 11:24:17

标签: docker

我只是好奇。要List files in exited container我可以使用docker diff,但如果目标目录也是卷,例如:

RUN mkdir /target
VOLUME /target

然后docker diff不会显示任何内容。这是否意味着容器退出后/target为空?如何查看已退出容器中/target的内容?

1 个答案:

答案 0 :(得分:0)

docker diff没有显示任何更改,因为此命令检查对容器文件系统上的文件或目录的更改。

卷,参考Docker文档,是:

  

数据卷是一个或多个容器内的特殊指定目录,绕过Union文件系统。

这解释了为什么docker diff没有显示卷内的更改。

  

这是否意味着/ target在容器退出后保留为空?

没有。即使删除容器,数据量仍然存在。

  

如何检查已退出容器中该/目标的内容?

您可以使用docker inspect命令找到容器卷。

docker inspect container_name

输出将是这样的,其中Source指定主机中卷的位置。

...
"Mounts": [
    {
        "Name": "fac362...80535",
        "Source": "/var/lib/docker/volumes/fac362...80535/_data",
        "Destination": "/webapp",
        "Driver": "local",
        "Mode": "",
        "RW": true,
        "Propagation": ""
    }
]
...
  

我在制作音量之前先做mkdir / target。那么如果在这种情况下它已经存在于容器内部,那么该目录的内容会发生什么呢?

如果先前存在目录,则会将内容复制到新创建的卷中。因此,如果您将目录设为卷,则不会丢失更改。