docker-compose无法连接外网

Den*_*ter 5 docker docker-compose docker-network

我创建了一个外部覆盖网络:

docker network create --driver overlay --subnet=10.0.9.0/24 mynetwork
Run Code Online (Sandbox Code Playgroud)

网络创建成功:

$ 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  
Run Code Online (Sandbox Code Playgroud)

当我尝试将容器放入 my 中时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.
Run Code Online (Sandbox Code Playgroud)

我的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
Run Code Online (Sandbox Code Playgroud)

无法docker-compose处理集群范围内的覆盖网络吗?

Versions:
docker-compose v1.8.0-rc2
docker 1.12.0-rc5
Run Code Online (Sandbox Code Playgroud)

dne*_*hin 1

docker-compose 与 Swarm 模式不兼容,因为它仍然使用容器 API,而 Swarm 模式需要使用服务 API。我相信 1.12 中的覆盖网络仅适用于群体模式。所以是的,它们是不兼容的。