docker-compose之overlay网络支持跨节点容器内网通信

使用外部 overlay 网络

如果 overlay 网络已通过 docker network create 事先创建,你可以这样定义:

1
2
3
networks:
my_overlay_net:
external: true # 使用外部网络

创建网络的命令(Swarm 中):

1
2
3
4
docker network create \
--driver overlay \ # 默认 --driver bridge
--attachable \
my_overlay_net

注意事项

项目 是否支持 说明
docker-compose up ❌ 不支持 Swarm 特性(例如 deploy、overlay 网络)
docker stack deploy ✅ 完全支持 Swarm 和 overlay
driver: overlay ✅ 仅 Swarm 模式支持
attachable: true ✅ Swarm 容器可以单独连接网络
external: true ✅ 可引用预先创建的 overlay 网络