我有一个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