在 CentOS(以及一般 Linux 系统)里提到 overlay,通常是指 OverlayFS(overlay 文件系统) 或 Docker 的 overlay/overlay2 存储驱动。下面从“为什么用”和“用在哪”两个角度说明。
OverlayFS 是一种 联合文件系统(union filesystem),可以把多个目录“叠加”在一起:
对用户的视角看,是一个统一目录;但实际写操作只发生在 upperdir。
在 CentOS 7/8 上:
devicemapper 好✅ 如果不改配置,CentOS 上的 Docker 基本都在用 overlay
例如:
➡ 避免复制完整系统
Docker 镜像本身就是分层结构:
layer1 (centos base)
layer2 (yum install)
layer3 (app)
OverlayFS 正好映射:
lower: layer1 + layer2
upper: layer3
merged: 容器根目录
CentOS 早期 Docker 用 devicemapper:
overlay2:
都依赖 overlay 的高效隔离能力
| 场景 | 是否用 overlay |
|---|---|
| Docker 容器 | ✅ 是 |
| Podman 容器 | ✅ 是 |
| 系统根文件系统 | ❌ 一般不是 |
| 多版本软件共存 | ✅ 可用 |
| Live CD / 修复系统 | ✅ 常用 |
mkdir lower upper work merged
mount -t overlay overlay \
-o lowerdir=lower,upperdir=upper,workdir=work \
merged
在 CentOS 上使用 overlay,主要是因为 Docker / 容器技术需要一种高效、节省空间、支持分层和写时复制的文件系统,而 overlay2 是目前最成熟、官方推荐的选择。
如果你是指 CentOS 系统本身用 overlay 启动(如 LiveOS),我也可以单独讲。