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

Docker部署项目端口选择方法及React改端口后连接重置问题排查

连接重置错误原因

该问题的核心是Docker端口映射与容器内React服务的实际监听端口不匹配:

  • 使用create-react-app生成的项目,默认开发服务固定监听3000端口
  • 你仅修改了Dockerfile的EXPOSE声明、docker-compose的端口映射规则,没有修改React服务本身的运行端口,导致宿主机8000端口的请求被转发到容器内没有服务监听的8000端口,就会触发连接重置报错。
修复方案

你可以任选以下任意一种方案调整:

方案1:指定React服务使用8000端口运行

create-react-app支持通过PORT环境变量自定义开发服务端口,只需在docker-compose.yml的environment配置段追加PORT声明即可:

environment:
  - NODE_ENV=development
  - PORT=8000

修改后重新执行docker-compose up --build启动即可正常访问。

方案2:调整Docker端口映射适配默认3000端口

如果不需要修改React服务本身的运行端口,直接调整Docker配置即可:

  1. 将docker-compose.yml中的ports配置修改为'8000:3000'(含义是宿主机8000端口映射到容器内3000端口)
  2. 可选:将Dockerfile中的EXPOSE 8000改为EXPOSE 3000,保持配置一致性(EXPOSE仅为声明性配置,不修改也不影响实际访问)

补充说明:EXPOSE指令只是告知镜像使用者该容器默认监听的端口,本身不会实际开启端口暴露,核心生效的配置是docker-compose的ports映射规则。

内容的提问来源于stack exchange,提问作者Heitor Kenzou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 09:54:03