我创建了一个外部覆盖网络:
docker network create --driver overlay --subnet=10.0.9.0/24 mynetwork
网络创建成功:
$ docker network ls
NETWORK ID NAME DRIVER SCOPE
37295f249f91 bridge bridge local
c2ec03c99888 docker_gwbridge bridge local
33dd13c9686d host host local
27goixjy0jys ingress overlay swarm
75508732fab2 none null local
ef6fti3kq6w4 mynetwork overlay swarm
当我尝试将容器放入我的
docker-compose.yml
中时,服务的创建失败$ docker-compose up
Creating service-lb
ERROR: for service-lb network mynetwork not found
ERROR: Encountered errors while bringing up the project.
我的
docker-compose.yml
看起来像这样:version: "2"
services:
service-lb:
image: myreg:5000/myorg/service-lb:latest
ports:
- "0.0.0.0:10080:80"
dns_search:
- .
networks:
- mynetwork
networks:
mynetwork:
external: true
是
docker-compose
无法处理群体范围内的覆盖网络?Versions:
docker-compose v1.8.0-rc2
docker 1.12.0-rc5
最佳答案
docker-compose 与 swarm 模式不兼容,因为它仍然使用容器 API,而 swarm 模式需要使用服务 API。我相信 1.12 中的覆盖网络仅适用于群模式。所以是的,它们是不相容的。
关于docker-compose 无法连接到外网,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38611434/