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
清理无用镜像、容器以释放空间。