Docker容器A(React APP)无法从同一Docker网络中的容器B(ExpressJS)获取数据

slwdgvem  于 2023-04-11  发布在  Docker
关注(0)|答案(1)|浏览(92)

我有两个容器,一个是由NGINX镜像托管的React应用程序,另一个是NodeJS Express应用程序。两者都在同一个Docker网络上。

React应用程序应该通过Express路由从Express应用程序的端口8082获取数据。但它不工作。错误是:
无法加载资源:net::ERR_CONNECTION_TIMED_OUT

172.19.0.3 是我的Express App的Docker网络IP。
但是,我已经将Express App的端口8082暴露给了Docker主机,当我尝试从主机的公网IP获取数据时,它可以正常工作。

有人知道是什么阻止了React容器成功获取数据吗?
我尝试了docker exec<container_id_or_name>netstat -an|容器内的grep 8082和ping命令。不幸的是,容器的映像不支持这些命令。

fwzugrvs

fwzugrvs1#

您的React应用程序不在容器中运行。它在您的浏览器中运行。
所以它不能使用网桥网络地址。只有在容器内部运行的进程才能这样做。
您需要使用Express应用程序的Map端口,即207.180.207.139:8082

相关问题