Docker Config.Volumes是什么?何时会被填充内容?
Docker
Config.Volumes字段的填充时机 先理清两个关键字段的差异:
Config.Volumes:属于镜像的固有配置,仅记录镜像构建阶段通过Dockerfile的VOLUME指令声明的挂载路径,是镜像本身的属性,不会因容器运行时的挂载操作改变。Mounts:记录容器实际运行时的所有挂载详情,包括-v/--mount指定的绑定挂载(bind mount)、命名卷,或是镜像声明VOLUME后自动创建的匿名卷。
触发Config.Volumes填充的场景:
当你使用的镜像在Dockerfile中通过
VOLUME指令声明了挂载路径时,Config.Volumes就会包含这些路径。例如Dockerfile中存在:VOLUME /opt/dir基于该镜像创建的容器,执行
docker inspect后Config.Volumes会显示{"/opt/dir": {}}。即便你在启动容器时用
-v将本地目录绑定到了镜像声明的VOLUME路径,Config.Volumes依然会保留镜像里的原始声明,而Mounts会显示实际的绑定挂载信息(正如你当前输出所示)。
你当前的情况是用-v做了绑定挂载,但所用镜像本身没有通过VOLUME声明该路径,因此Config.Volumes为null,属于正常现象。
内容的提问来源于stack exchange,提问作者Hwan E
相关产品推荐
相关产品推荐

