前端和后端在一个docker容器中.使用哪个IP地址?



我有一个docker容器在端口3000上运行前端(react)和端口8000上的后端(django)。在容器内部,我可以运行

wget localhost:8000/

,然后返回服务器必须返回的内容。如果我转发端口8000并从容器外部调用wget,这也可以工作。

但是前端呢?由于它位于后端相同的容器中,我假设它位于相同的本地主机中,因此它应该能够使用

从后端检索信息。
wget localhost:8000/

但这不是发生的事情(我得到ERR_CONNECTION_REFUSED)是因为当我运行前端时,请求实际上来自我的本地机器上的浏览器,它位于容器之外(也在服务器之外)?

或者我得到一些错误和wget localhost:8000/也应该从我的浏览器工作?

前端在您的浏览器中运行,因此您认为请求来自您的浏览器是正确的。在这种情况下,你必须为Django后端公开一个端口,这样你的浏览器就可以从"public"访问它。IP空间。

听起来好像只映射了8000端口。

如果启动容器,请确保添加-p 3000:3000

最新更新