在 CentOS 中配置 Overlay(通常指 OverlayFS / Overlay2 存储驱动,常见于 Docker,也可能指网络 Overlay,如 Flannel、Calico)时,需要注意以下几类关键点。下面按最常见场景说明,如果你指的是 Docker Overlay2,可以直接看第一部分。
Overlay2 强烈依赖文件系统支持:
✅ 推荐:
❌ 不推荐或不可用:
d_type检查 d_type(非常重要):
xfs_info / | grep ftype
ftype=1 ✅ 正常ftype=0 ❌ 不支持 Overlay2,需重做文件系统查看内核:
uname -r
推荐 Docker CE ≥ 18.06
确认当前存储驱动:
docker info | grep -i storage
如果不是 overlay2:
vi /etc/docker/daemon.json
{
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
重载配置:
systemctl daemon-reexec
systemctl restart docker
⚠️ 生产环境不建议强制 override_kernel_check
Overlay2 会快速增长:
建议:
/var/lib/docker监控:
df -h /var/lib/docker
SELinux 可能导致 Overlay2 启动失败:
临时关闭验证:
setenforce 0
永久关闭(不推荐,除非确认):
vi /etc/selinux/config
SELINUX=disabled
✅ 推荐做法:
需要:
lsmod | grep vxlan
modprobe vxlan
CentOS 默认 firewalld 会拦截 Overlay 网络:
systemctl stop firewalld
systemctl disable firewalld
或使用 iptables 放行:
VXLAN 会额外占用 50 字节:
Docker / CNI 配置中一定要显式设置。
docker system df
docker system prune -a
mount | grep overlay
CentOS 配置 Overlay,核心三件事: 1️⃣ 文件系统必须支持 d_type
2️⃣ 内核 & Docker 版本要够新
3️⃣ /var/lib/docker 磁盘 & SELinux 要处理好
如果你愿意,可以告诉我:
我可以直接给你一套最稳妥的配置方案。