CentOS Overlay版本兼容性保障指南
OverlayFS依赖Linux内核的overlayfs模块,最低要求内核版本≥3.10.0-514(CentOS 7及以上版本均满足此要求)。需通过uname -r命令确认当前内核版本,若版本过低,需通过sudo yum update kernel -y升级内核并重启系统加载新内核。
Overlay2存储驱动(推荐)需使用XFS文件系统(ext4也可支持,但XFS性能更优),且格式化时必须添加-n ftype=1参数(确保d_type支持)。可通过xfs_info /var/lib/docker | grep "ftype"验证(输出ftype=1则表示支持),若不支持需重新格式化:mkfs.xfs -n ftype=1 /dev/sdX(替换为实际分区)。
/etc/docker/daemon.json文件,添加以下内容(覆盖内核检查并指定存储驱动):{
"storage-driver": "overlay2",
"storage-opts": ["overlay2.override_kernel_check=true"]
}
重启Docker服务使配置生效:sudo systemctl restart docker。若SELinux处于enforcing模式,可能阻止Docker创建Overlay挂载点。可通过以下两种方式解决:
setenforce 0(重启后恢复);/etc/sysconfig/docker文件,删除--selinux-enabled参数,然后重启Docker服务。ls /lib/modules/$(uname -r)/kernel/fs/overlayfs/overlay.ko*确认模块文件是否存在(若不存在,需安装kernel-modules包);sudo modprobe overlay(若失败,需检查内核版本与模块路径是否一致,或通过dracut -f -v重建initramfs);lsmod | grep overlay(确认模块已加载)或cat /proc/filesystems | grep overlay(确认内核支持)。mkdir -p /mnt/upper /mnt/work /mnt/merged
mount -t overlay overlay -o lowerdir=/mnt/upper,upperdir=/mnt/work,workdir=/mnt/merged /mnt/merged
touch /mnt/merged/testfile # 验证写入是否正常
umount /mnt/merged
df -h查看/var/lib/docker/overlay2目录占用情况,使用docker system prune -a清理无用镜像、容器以释放空间。