linux - 来自 Docker Compose 内部请求的连接被拒绝

标签 linux docker docker-compose deployment

我有一个 API 在我的主机上的 8000 端口上运行。同时,我有一个 docker compose 集群,其中包含一个应该连接所述 API 的容器。为了获取请求的 url,我在我的 Windows 机器上使用了“host.docker.internal:8000”,它运行得非常好。但是,我有一个 linux 部署服务器,在那里,“host.docker.internal”无法解析任何内容,导致 API 连接错误。我在另一个 post on stackoverflow 上看到了,您可以通过在 docker-compose.yaml

上添加以下内容在 linux 上解决此问题
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/

相关文章:

asp.net - 是否有带有Nginx Ubuntu,Kestral,.net core 3.1的正式Docker镜像,并且自动更新合并为一个?

docker - Gitlab CI仿真器无法启动

mongodb - 将MongoDB与Docker结合使用时如何创建新的数据库和集合?

c - C中的内存计算

linux - 我无法从 'script2.sh' 运行 'script1.sh'(它们在同一文件夹中并具有 755 权限)

linux - 如何在shell脚本中创建服务器?

image - 通过多用户对外部Docker注册表进行特定访问

docker - 如何删除用于生产和复制的 Docker 卷?

node.js - Docker Compose Up 构建 Node-Sass 错误

linux - Bash:将程序输出打印到文件,而不是在屏幕上