【问题标题】:Make a request from one container to the second container with localhost使用 localhost 从一个容器向第二个容器发出请求
【发布时间】:2019-02-25 20:48:46
【问题描述】:

我设置了两个 docker-compose 文件 - 一个用于前端应用程序,一个用于后端。

前端在 3000 端口上运行并在 80 上暴露:0.0.0.0:80:3000 后端在 3001 端口上运行,并公开在同一端口上:0.0.0.0:3001:3001

从主机,我可以轻松地向后端发出请求: $ curl 127.0.0.1:3001

但我不能从前端容器中执行此操作 - 没有在该端口上侦听,因为它们是不同网络中的两个不同容器。

我尝试将它们都连接到一个网络中 - 然后我可以使用后端容器的 IP 或主机名来发出有效请求。但它仍然不是本地主机。我该如何解决这个问题?

【问题讨论】:

    标签: docker docker-compose


    【解决方案1】:

    使用 Docker 时,localhost 指向容器本身,而不是您的计算机。有几种方法可以做你想做的事。但是它们都不能与容器中的 localhost 一起使用。

    最简洁的方法是在 yml 中为您的服务设置主机名,并设置您的应用程序以查找这些主机名而不是 localhost。

    如果您需要示例,请告诉我,我会在家中查找并在此处发布给您。

    【讨论】:

      猜你喜欢
      • 2020-03-31
      • 1970-01-01
      • 1970-01-01
      • 2019-11-05
      • 1970-01-01
      • 2021-04-12
      • 2019-12-15
      • 2021-09-21
      • 1970-01-01
      相关资源
      最近更新 更多