【发布时间】: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_mode 与networks 结合使用:
这不起作用:
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