在 CentOS 上添加 Overlay(overlayfs),常见场景有几种,下面按最常见用途给你说明。
CentOS 7 及以后版本 默认内核已支持 overlay。
lsmod | grep overlay
如果没有输出,可以手动加载:
modprobe overlay
开机自动加载:
echo "overlay" > /etc/modules-load.d/overlay.conf
mkdir -p /mnt/overlay/{lower,upper,work,merged}
说明:
lower:只读层upper:可写层work:工作目录(必须为空)merged:最终挂载点mount -t overlay overlay \
-o lowerdir=/mnt/overlay/lower,upperdir=/mnt/overlay/upper,workdir=/mnt/overlay/work \
/mnt/overlay/merged
mount | grep overlay
vim /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
vim /etc/docker/daemon.json
{
"storage-driver": "overlay2"
}
重启 Docker:
systemctl restart docker
✅ overlay2 是 CentOS 7/8 推荐方案
overlay: upper fs does not support xattr
需要 XFS 挂载时加:mount -o remount,user_xattr /
| 类型 | 说明 |
|---|---|
| overlay | 旧版 |
| overlay2 | 性能更好,Docker 推荐 |
✅ 支持:
lowerdir=/a:/b:/c
如果你能说明 具体用途(Docker / 系统根目录 / 自定义目录 / 容器运行时),我可以给你更精确的配置方案。