我刚刚开始使用 docker-compose,目前正在努力解决不同服务之间的通信问题。
我有2个服务,alice
and bob
。我希望它们能够互相发送 http 请求。据我了解,服务应该能够通过使用服务名作为主机名来相互访问。
很遗憾,alice
在我的例子中无法到达bob
on http://鲍勃:5557 http://bob:5557, and bob
无法到达alice
on http://爱丽丝:5556 http://alice:5556.
我理解不正确是什么?是否有可能在服务之间发出 http 请求?
这是我的docker-compose.yml file:
version: '3'
services:
alice:
build: blockchain
ports:
- "5556:5000"
environment:
NAME: Alice
bob:
build: blockchain
ports:
- "5557:5000"
environment:
NAME: Bob
正如明确记录在Compose 中的网络 https://docs.docker.com/compose/networking/
网络服务到服务通信使用 CONTAINER_PORT
因此,您应该使用容器端口在容器之间进行通信。http://bob:5000
and http://alice:5000
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)