在 CentOS 上配置 Overlay(OverlayFS),通常用于 Docker、容器存储、LiveCD、只读根文件系统 等场景。下面按常见使用方式给你一个完整说明。
OverlayFS 是一种联合文件系统(union filesystem),可以把多个目录合并成一个,常用于:
核心概念:
| 目录 | 作用 |
|---|---|
| lowerdir | 只读层(一个或多个) |
| upperdir | 可写层 |
| workdir | 工作目录(必须为空) |
| merged | 最终挂载点 |
uname -r
lsmod | grep overlay
如果没有输出,手动加载:
modprobe overlay
设置开机自动加载:
echo "overlay" >> /etc/modules-load.d/overlay.conf
mkdir -p /mnt/overlay/{lower,upper,work,merged}
echo "lower" > /mnt/overlay/lower/test.txt
mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
cat /mnt/overlay/merged/test.txt
echo "write test" > /mnt/overlay/merged/test.txt
lower/test.txt 不变upper 中编辑 /etc/fstab:
overlay /mnt/overlay/merged overlay defaults,lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work 0 0
测试:
mount -a
docker info | grep -i storage
编辑 /etc/docker/daemon.json:
{
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
重启 Docker:
systemctl restart docker
✅ overlay2 是 CentOS 上 Docker 的推荐存储驱动
如果挂载失败,可临时测试:
setenforce 0
永久关闭(不推荐生产):
sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
或配置 SELinux 策略(推荐)
| 场景 | 用法 |
|---|---|
| Docker | overlay2 |
| 只读系统 | lower=系统目录 |
| 升级回滚 | upper 作为差异层 |
| LiveOS | squashfs + overlay |
mount | grep overlay
lsblk
dmesg | tail
✅ 配置 OverlayFS 的核心步骤:
mount -t overlay如果你能说明 具体用途(Docker / 根目录只读 / 容器定制 / 系统升级),我可以给你更精确的配置方案。