You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Docker部署React+MongoDB项目接口请求报ECONNREFUSED错误如何解决

报错原因

该报错是Docker容器网络隔离特性导致的:

  • 你在宿主机浏览器访问localhost:5000/loadUsers能成功,是因为后端容器的5000端口已经映射到了宿主机的5000端口,宿主机网络可以直接访问
  • React前端跑在独立的容器内,容器内的localhost指向的是前端容器自身,而前端容器内部没有服务监听5000端口,所以代理请求到http://localhost:5000时会触发连接拒绝错误
解决方法
  • 如果你使用docker-compose编排服务:修改前端的代理配置,将代理目标地址从http://localhost:5000改成后端服务的服务名,比如docker-compose.yml中后端服务命名为backend,就改为http://backend:5000,Docker内置DNS会自动将服务名解析为对应容器的内网IP,实现跨容器通信
  • 如果你是单独启动容器:可以将代理目标地址改为http://host.docker.internal:5000,host.docker.internal是Docker提供的特殊域名,会自动指向宿主机IP,即可访问到宿主机映射的后端端口
  • 额外确认:后端服务启动时要监听0.0.0.0地址,不要绑定127.0.0.1,比如Node服务启动代码要写为app.listen(5000, '0.0.0.0'),否则其他容器无法访问该后端服务

修改完成后重启容器即可生效。

内容的提问来源于stack exchange,提问作者ioanna marinou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 11:15:04