Docker 获取 http://localhost:8091/api/order: dial tcp 127.0.0.1:8091: connect: connection refused

Docker Get http://localhost:8091/api/order: dial tcp 127.0.0.1:8091: connect: connection refused

我在 Docker 中有 2 个容器:

  1. golang 服务
  2. odoo 服务

golang 服务将在 odoo 服务中命中 api

我在没有 2 docker 容器的情况下尝试过它工作正常但是当我将我的 golang 服务放入 docker 容器时我得到了这个错误

我知道这个 post

这就是我在 golang 中定义 odoo url 的方式

var OdoobaseURL = "http://localhost:8091/api/order"

但是我如何在golang中解决它呢?谢谢

当 运行 您的应用程序使用 Docker Compose 时,您必须通过它的服务名称来寻址目标容器。当 运行 单独使用 Go 服务时,您将公开 odoo 服务端口,然后您可以使用 localhost 连接。