Docker中overlay、overlay2和AUFS存储引擎有何特点及区别?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1139个文字,预计阅读时间需要5分钟。
OverlayFS在Linux 3.18及以上版本开始正式支持。它能够将上层目录(upperdir)和下层目录(lowerdir)进行合并,为用户提供一个统一的合并目录(merged)。合并规则如下:同名上层和下层目录内容合并。
Overlay FSOverlay FS 在 Linux 3.18 开始正式支持,它能够将上层目录(upperdir)和下层目录(lowerdir)进行合并,提供用户一个统一的合并目录(merged)。其合并规则如下:
- 同名上下层目录合并;
- 同名的文件,上层覆盖下层;
- 对下层的文件修改采用写时复制(copy_up),下层文件无法直接修改,需要复制到上层进行修改,然后再依规则进行覆盖。
Overlay FS 在容器技术中应用广泛,尤其在Docker中。
Docker 容器以镜像层(Image layer)为下层目录,容器可写层(Writable layer)为上层目录,合并到容器挂载点(根目录)。早期 Linux 内核中的 Overlay FS 不支持多下层目录,Linux 4.0 以后版本才陆续完善了多下层目录的功能。我们知道 Docker 经常是多镜像层的,这意味着具有多层的下层目录。对此,Docker 提供了两种方式接入 Overlay FS:
- Overlay Driver,下层目录依次进行硬链接,然后最上层的镜像目录跟容器可写层合并到挂载点;
- Overlay2 Driver,只支持 Linux 4.0以上版本,下层镜像目录(最多支持500个)直接根容器可写层合并到挂载点,不存在硬链接导致的 inode 消耗过多问题。
本文共计1139个文字,预计阅读时间需要5分钟。
OverlayFS在Linux 3.18及以上版本开始正式支持。它能够将上层目录(upperdir)和下层目录(lowerdir)进行合并,为用户提供一个统一的合并目录(merged)。合并规则如下:同名上层和下层目录内容合并。
Overlay FSOverlay FS 在 Linux 3.18 开始正式支持,它能够将上层目录(upperdir)和下层目录(lowerdir)进行合并,提供用户一个统一的合并目录(merged)。其合并规则如下:
- 同名上下层目录合并;
- 同名的文件,上层覆盖下层;
- 对下层的文件修改采用写时复制(copy_up),下层文件无法直接修改,需要复制到上层进行修改,然后再依规则进行覆盖。
Overlay FS 在容器技术中应用广泛,尤其在Docker中。
Docker 容器以镜像层(Image layer)为下层目录,容器可写层(Writable layer)为上层目录,合并到容器挂载点(根目录)。早期 Linux 内核中的 Overlay FS 不支持多下层目录,Linux 4.0 以后版本才陆续完善了多下层目录的功能。我们知道 Docker 经常是多镜像层的,这意味着具有多层的下层目录。对此,Docker 提供了两种方式接入 Overlay FS:
- Overlay Driver,下层目录依次进行硬链接,然后最上层的镜像目录跟容器可写层合并到挂载点;
- Overlay2 Driver,只支持 Linux 4.0以上版本,下层镜像目录(最多支持500个)直接根容器可写层合并到挂载点,不存在硬链接导致的 inode 消耗过多问题。

