dir中的文件也是VOLUME?

我只是好奇。 列出退出容器中的文件我可以使用docker diff ,但是如果目标目录也是一个卷,例如:

 RUN mkdir /target VOLUME /target 

然后docker diff不会显示任何东西。 这是否意味着在容器退出后/target留空? 我怎样才能检查退出容器中的/target的内容?

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

一个卷,指的是Docker文档,是这样的:

数据卷是绕过联盟文件系统的一个或多个容器内的特定目录。

这解释了为什么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。 那么如果在这种情况下它已经存在于容器内部,这个目录的内容会发生什么

如果该目录先前存在,则将内容复制到新创build的卷中。 所以,如果你使你的目录成为一个音量,你不会失去你的改变。