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的卷中。 所以,如果你使你的目录成为一个音量,你不会失去你的改变。