我设置了两个docker-compose文件-一个用于前端应用程序,另一个用于后端。
前端在3000端口上运行,并在80上暴露:0.0.0.0:80:3000
后端在3001端口上运行,并且也在同一端口上公开:0.0.0.0:3001:3001
我可以轻松地从主机向后端发出请求:
$ curl 127.0.0.1:3001
但是我不能从前端容器中做到这一点-那个端口上没有任何监听,因为那是不同网络中的两个不同容器。
我试图将它们都连接到一个网络中-然后我可以使用后端容器的IP或主机名发出有效请求。但是它仍然不是本地主机。我该怎么解决?
答案 0 :(得分:0)
使用Docker时,本地主机指向容器本身,而不是您的计算机。有几种方法可以做您想要的。但是它们都无法通过容器与localhost一起使用。
最干净的方法是在yml中为服务设置主机名,然后将应用程序设置为查找那些主机名,而不是localhost。
如果您需要示例,请告诉我,我会在家中查找示例并将其发布给您。