Docker overlay存储驱动工作方式

Docker overlay存储驱动是如何工作的?

原文链接
该内容仅仅适用于overlay存储驱动。Docker官方建议适用overlay2 驱动,overlay2工作方式不同于overlay。overlay2工作原理链接
https://docs.docker.com/storage/storagedriver/overlayfs-driver/#how-the-overlay2-driver-works

OverlayFS在Linux主机上有两个目录但呈现给用户就像只有一个目录一样。这些目录称之为层(layers),这些层的统一呈现通过联合挂载实现。OverlayFS将底层目录视作lowerdir,将上层目录称作upperdir,通过叫做merged目录对外暴露统一的视图。
以下图片展示了Docker的镜像和Docker容器的分层结构。 镜像层就是lowerdir目录,而uppperdir目录就是容器层。统一对外暴露的视图就是merged目录,该目录也是容器的挂载点。Docker结构映射OverlayFS结构图如下:

overlay工作原理图

当镜像层和容器层有相同的文件的时候,容器层的文件会掩盖了镜像层的文件。overlay驱动仅仅适用两层模型工作。
This means that multi-layered images cannot be implemented as multiple OverlayFS layers.
这意味着多层的镜像无法用多层的OverlayFS实现。相反,每个镜像层使用位于/var/lib/docker/overlay下的一层目录实现。出于空间效率的考虑,使用硬链接的方式来共享lower层。从Docker1.10开始,镜像层的ID不在和/var/lib/docker下的目录名称一一对应。
当创建容器的时候,overlay驱动会联合代表了镜像层的目录以及新创建的容器目录结构。
镜像的顶层就是lowerdir并且是只读的,而新创建的容器目录称作upperdir并且是可写的。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值