使用本地主机从一个容器向第二个容器发出请求

时间:2019-02-25 20:48:46

标签: docker docker-compose

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

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

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

但是我不能从前端容器中做到这一点-那个端口上没有任何监听,因为那是不同网络中的两个不同容器。

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

1 个答案:

答案 0 :(得分:0)

使用Docker时,本地主机指向容器本身,而不是您的计算机。有几种方法可以做您想要的。但是它们都无法通过容器与localhost一起使用。

最干净的方法是在yml中为服务设置主机名,然后将应用程序设置为查找那些主机名,而不是localhost。

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