gpt4 book ai didi

docker-compose 在容器之间发出请求

转载 作者:行者123 更新时间:2023-12-04 16:57:36 25 4
gpt4 key购买 nike

我对 docker-compose 有点陌生,所以我什至不确定我在寻找什么。

我创建了两个图像,并使用 docker-compose 运行它们,在本地环境中,这两个服务通过 HTTP 请求进行通信(两者都在本地主机上运行,​​一个服务在端口 3000 上,一个服务在端口 8000 上)

当我将这两个服务移动到 docker(两个独立的容器和图像)时,我似乎无法让它们进行通信。

这是我的 docker-compose 文件:

version: '3'

services:
service1:
image: services/services1
ports:
- 3000:3000
links:
- "service2"
depends_on:
- service2

service2:
image: services/service2
ports:
- 8000:8000

当我直接向每个服务发出 http 请求时,我得到了很好的响应,但是当我向 service1 和 services1 发出请求时,我有另一个对服务 2 的请求,我根本无法得到响应
Error: connect ECONNREFUSED 127.0.0.1:8000

两个服务都在 0.0.0.0 上运行

最佳答案

so I'm not so sure what am I looking for even.



您很可能正在寻找 the docker documentation 的这部分内容.它解释了 docker compose 如何处理网络。您特别感兴趣的部分是:
By default Compose sets up a single network for your app.
Each container for a service joins the default network and is both reachable
by other containers on that network, and discoverable by them
at a hostname identical to the container name.

这意味着您应该使用 service1 和 service2 而不是 localhost 来跨服务定位。

关于docker-compose 在容器之间发出请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52010778/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com