我有2张图片,我想通过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
答案 0 :(得分:0)
如果它们都在您的主机网络上,则它们可以相互通信,就像普通应用程序彼此通信一样:通过localhost。因此,您根本不需要桥接。