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清理無用鏡像、容器以釋放空間。