gpt4 book ai didi

docker - curl localhost 从一个 docker 容器连接到另一个 docker 容器

转载 作者:行者123 更新时间:2023-12-02 18:53:45 25 4
gpt4 key购买 nike

我有关注 docker-compose并在本地运行:

version: '3.4'
services:
testservice.api:
image: testservice.api
build:
context: .
dockerfile: Services/.../Dockerfile
ports:
- "5101:80"
sql.data:
image: postgres.jchem
build:
context: ../db/postgres
dockerfile: Dockerfile
ports:
- "5432:5432"
- "9090:9090"

现在在 sql.data我尝试执行的容器 curl http://localhost:5101/...但我得到退出代码 (7) 连接失败
当我尝试通过 curl http://testservice.api/... 连接时有用。
为什么我无法连接 localhost:port ?以及如何使用 curl localhost:port 从 docker 容器内连接到另一个容器?

最佳答案

Why can't I connect with localhost:port?



这是因为每个容器都有自己的网络接口(interface),因此有自己的“本地主机”。

And how can I accomplish to connect from within a docker container to another with curl localhost:port?



你可以做的是使用 network_mode: "host"在每个 compose 服务中,因此每个容器都使用相同的主机网络接口(interface)。不过,我建议您将您的应用程序调整为可配置的,以便它们将其服务依赖项 URL 作为参数(例如)。

关于docker - curl localhost 从一个 docker 容器连接到另一个 docker 容器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49924405/

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