在docker的上下文中,我了解图像的哪些层以及最上面的可写层。如果我运行没有任何-v参数的docker容器,会创建任何卷吗?如果我确实指定了一个卷(该卷不是在主机中某个位置的安装),该卷是否会成为该容器的可写层?
卷和图像层是Docker中的独立概念。对于第一个问题,no,不会创建任何-v
不使用的卷(暂时忽略该Dockerfile
格式确实具有VOLUME
动词的事实)。
如果指定任何卷驱动程序提供的卷(默认为本地目录,该目录将绑定安装到容器文件系统中的目标位置),则该卷与映像层无关,包括“可写”顶层由您的Docker引擎中使用的后端存储驱动程序提供。
具体来说,使用的存储驱动程序是控制层堆栈以及顶层“ r / w”层的管理方式的。例如,overlay或devicemapper或btrfs驱动程序处理图像层的安装以及创建和管理顶层。
通过将卷绑定安装到文件系统映像中的现有(或创建的)路径上,卷可以发挥作用。当您退出容器时,这些卷将保留在其源位置(例如,对于本地/默认卷驱动程序,位于中/var/lib/docker/volumes/<name>
),并且在使用中的存储驱动程序的管理下,卸载的层堆栈将具有已修改的“上层”图层堆栈,除非您在出口(--rm
)上卸下了容器。这是两个单独管理的概念,并且卷系统与存储后端驱动程序没有相互作用。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句