在 CentOS 上,“overlay” 通常指 Docker 的 overlay 网络(跨主机容器网络) 或 OverlayFS 存储/挂载。下面分别说明如何测试连通性,你可以对照你实际场景来看。
overlay 网络依赖: -Docker Swarm 已初始化
docker node ls
docker network ls
docker network create -d overlay my-overlay
节点 A:
docker service create --name web --network my-overlay nginx
节点 B:
docker service create --name client --network my-overlay busybox sleep 3600
进入 client 容器:
docker exec -it <client_container_id> sh
测试:
ping web
或
wget -O - http://web
✅ 能解析 hostname 并通信 = overlay 网络正常
在宿主机:
tcpdump -i eth0 udp port 4789
有 VXLAN 流量说明 overlay 已工作。
如果你是问 overlay 文件系统(如 /var/lib/docker/overlay2):
mkdir -p /tmp/lower /tmp/upper /tmp/work /tmp/merged
mount -t overlay overlay \
-o lowerdir=/tmp/lower,upperdir=/tmp/upper,workdir=/tmp/work \
/tmp/merged
echo hello > /tmp/merged/test
cat /tmp/upper/test
✅ 能看到文件说明 overlay 正常
firewall-cmd --add-port=4789/udp --permanent
firewall-cmd --add-port=7946/tcp --permanent
firewall-cmd --add-port=7946/udp --permanent
firewall-cmd --add-port=2377/tcp --permanent
firewall-cmd --reload
getenforce
如有问题可临时测试:
setenforce 0
如果你能说明:
我可以给你更精确的测试命令。