在 CentOS 中使用 overlay(overlayfs)无法启动,常见原因主要集中在 内核、存储驱动、文件系统、Docker/容器配置、SELinux 等方面。下面按「场景 + 原因 + 排查方法」给你系统梳理一下。
CentOS 7 必须内核 ≥ 3.10.0-514 才稳定支持 overlay2。
检查:
uname -r
lsmod | grep overlay
解决:
yum update kernel
reboot
modprobe overlay
overlay 不支持:
ftype=1检查 XFS:
xfs_info /var/lib/docker | grep ftype
如果是 ftype=0:
mkfs.xfs -n ftype=1 /dev/sdX
/etc/docker/daemon.json 示例(正确):
{
"storage-driver": "overlay2"
}
错误示例:
overlay(已废弃)devicemapper + overlay检查:
journalctl -u docker
CentOS 默认开启 SELinux。
临时测试:
setenforce 0
永久解决:
vi /etc/sysconfig/selinux
SELINUX=permissive
或给 Docker 加:
"selinux-enabled": true
dracut --add-drivers overlay -f
正确示例:
mount -t overlay overlay \
-o lowerdir=/lower,upperdir=/upper,workdir=/work \
/merged
常见错误:
workdirdmesg | grep overlay
journalctl -xb
mount | grep overlay
ls -ld /var/lib/docker
你可以告诉我:
我可以直接帮你定位到具体原因并给修复命令。