我有一个 API 在我的主机上的 8000 端口上运行。同时,我有一个 docker compose 集群,其中包含一个应该连接所述 API 的容器。为了获取请求的 url,我在我的 Windows 机器上使用了“host.docker.internal:8000”,它运行得非常好。但是,我有一个 linux 部署服务器,在那里,“host.docker.internal”无法解析任何内容,导致 API 连接错误。我在另一个 post on stackoverflow 上看到了,您可以通过在 docker-compose.yaml
services:
service_name:
extra_hosts:
- host.docker.internal:host-gateway
这将 docker0 IP 添加到 /etc/hosts
,但是当我尝试执行 GET 请求时,结果消息是:
无法连接到 host.docker.internal 端口 8000:连接被拒绝
我现在真的很困惑。我不知道这是防火墙问题、docker 问题、docker compose 问题还是 docker on linux 问题。请帮忙...
最佳答案
我遇到了类似的问题,并通过确保我的隧道接受来自任何地方的连接来使其正常工作。
之前:
ssh -N -L 5435:endpoint.rds.amazonaws.com:5432 admin@machine.ip
之后:
ssh -N -L 0.0.0.0:5435:endpoint.rds.amazonaws.com:5432 admin@machine.ip
关于linux - 来自 Docker Compose 内部请求的连接被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71863950/