docker-compose 无法连接到外网

标签 docker docker-compose docker-networking

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

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/

相关文章:

mysql - Flask API 在本地运行 w/docker-compose,但没有响应 (windows)

nginx - 配置nginx反向代理进行mqtt通信

docker - 无法将docker-compose与覆盖网络配合使用

docker - 如何从Docker容器连接到远程服务

asp.net - 如何在使用 docker 容器化的 asp.net Core 中的项目之间共享类定义

curl - Docker自定义DNS在容器之间解析

docker - Docker Compose给出无效的环境类型错误

docker - Artifactory 插件代理导致/v1/_ping : Bad Gateway

linux - 使用 Fluentd 在 ElasticSearch 中存储日志

ruby-on-rails - 如何解决错误 "bundler could not find compatible version for gem X"