首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >码头工不能连接到外部网络

码头工不能连接到外部网络
EN

Stack Overflow用户
提问于 2016-07-27 11:16:01
回答 2查看 3.5K关注 0票数 5

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

代码语言:javascript
复制
docker network create --driver overlay --subnet=10.0.9.0/24 mynetwork

网络创建成功:

代码语言:javascript
复制
$ 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中时,服务的创建将失败

代码语言:javascript
复制
$ 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看起来是这样的:

代码语言:javascript
复制
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是否无法在群集范围内处理覆盖网络?

代码语言:javascript
复制
Versions:
docker-compose v1.8.0-rc2
docker 1.12.0-rc5
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-27 13:54:32

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

票数 1
EN

Stack Overflow用户

发布于 2021-09-08 10:23:37

这现在应该是可能的。来自https://docs.docker.com/compose/networking

在v2.1+中,覆盖网络始终是可连接的。从撰写文件格式2.1开始,覆盖网络总是以可附加的方式创建,这是不可配置的。这意味着独立的容器可以连接到覆盖网络。在撰写文件格式3.x中,您可以选择将附加属性设置为false。

您可能需要使用以下属性在docker中声明您的网络:

代码语言:javascript
复制
external: true
driver: overlay
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38611434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档