【问题标题】:Docker Compose use both host and bridge networkDocker Compose 同时使用主机和桥接网络
【发布时间】:2020-07-14 20:05:10
【问题描述】:

我有 2 个图像,我想通过 compose 的默认桥接网络相互交谈,但我也希望它们能够访问我的主机网络。

为了让图像在 compose 的默认桥接网络中相互通信,我不需要做任何事情:

version: '3.4'
services: 
  hello:
   image: hello-world

  world:
    image: hello-world

通过上述规范,hello 服务可以使用 DNS 名称 world 引用 world 服务

如果我希望 hello 服务能够与我的主机网络交互,我可以将 network_mode: host 添加到规范中。

version: '3.4'
services: 
  hello:
   image: hello-world
   network_mode: host
  world:
    image: hello-world

这允许hello 服务访问我的主机网络,但不能再通过compose 的内置DNS 访问world。我怎样才能做到这两点?

我尝试创建自定义网络,但自定义网络无法使用主机驱动程序,我无法将network_modenetworks 结合使用:

这不起作用:

version: '3.4'
services: 
  hello:
   image: hello-world
   network_mode: host
   networks:
   - bridge
  world:
    image: hello-world
    networks:
    - bridge

networks:
  test:
    driver: bridge
$ docker-compose up
ERROR: 'network_mode' and 'networks' cannot be combined

【问题讨论】:

    标签: docker docker-compose docker-networking docker-network


    【解决方案1】:

    如果它们都在您的主机网络上,它们可以像普通应用程序一样相互通信:通过 localhost。所以你根本不需要桥。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-30
      • 2018-11-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多