多个docker-compose项目之间的通信
我docker-compose.yml
在两个不同的文件夹中有两个单独的文件:
~/front/docker-compose.yml
~/api/docker-compose.yml
如何确保in中的容器front
可以将请求发送到in中的容器api
?
我知道--default-gateway
可以docker
run为单个容器设置选项,以便可以为该容器分配特定的IP地址,但是使用时似乎没有此选项docker-compose
。
目前,我最终做了一个,docker inspect
my_api_container_id然后查看输出中的网关。它可以工作,但问题是该IP是随机分配的,因此我不能依靠它。
因此,此问题的另一种形式可能是:
- 我可以使用docker-compose将固定IP地址分配给特定容器吗?
但最后我要照顾的是:
- 两个不同的docker-compose项目如何相互通信?
回答:
您只需要确保要互相交谈的容器在同一网络上即可。网络是一流的docker构造,并不特定于组合。
# front/docker-compose.ymlversion: '2'
services:
front:
...
networks:
- some-net
networks:
some-net:
driver: bridge
…
# api/docker-compose.ymlversion: '2'
services:
api:
...
networks:
- front_some-net
networks:
front_some-net:
external: true
注意:根据“项目名称”为您的应用程序网络指定名称,该名称基于其所在目录的名称,在这种情况下
front_
,添加了前缀
然后,他们可以使用服务名称互相交谈。从front
您可以做到ping api
,反之亦然。
以上是 多个docker-compose项目之间的通信 的全部内容, 来源链接: utcz.com/qa/426159.html