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

React应用Docker运行正常,迁移Docker Compose配置后启动失败

问题修复方案

1. 修正Docker Compose的卷挂载配置

问题核心是卷挂载路径没跟着调整:之前在/frontend目录下时,卷挂载的是当前目录(即/frontend)到容器/app,但把docker-compose.yml移到根目录后,原来的- .:/app会把/myproject根目录挂载到容器/app,导致容器里找/app/package.json时,实际找的是宿主机/myproject下的文件(自然不存在),同时容器内执行npm install会把依赖写到挂载的根目录,生成意外的node_modules。

修改docker-compose.yml里的卷配置,明确挂载frontend子目录:

services:
  frontend:
    build:
      context: ./frontend
    volumes:
      - ./frontend:/app  # 把宿主机的frontend目录挂载到容器/app

2. 清理冗余文件

删除根目录下意外生成的node_modules:

rm -rf /myproject/node_modules

3. 重新构建运行

先清理旧的容器和缓存(避免残留问题):

docker compose down -v
docker compose build --no-cache

然后启动服务:

docker compose up

额外检查点

确认/frontend目录下的Dockerfile配置正确,比如:

WORKDIR /app
COPY package*.json ./  # 基于build context(frontend目录)复制文件,路径匹配无误
RUN npm install
COPY . .

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 22:37:09