FROM node:24 WORKDIR /app # 安装 pnpm RUN npm install -g pnpm # 复制 package.json 和 pnpm-lock.yaml COPY package.json pnpm-lock.yaml ./ # 安装依赖(包含 devDependencies 用于构建) RUN pnpm install --frozen-lockfile # 复制源代码 COPY . . # 修复 Windows 换行符问题 RUN sed -i 's/\r$//' start.sh # 构建应用 RUN pnpm run build:production:multi # 安装 PM2 RUN npm install -g pm2 EXPOSE 51703-51708 ENV NODE_ENV=production # 直接启动 PM2,不需要重新构建(构建已在上面完成) CMD ["pm2-runtime", "start", "ecosystem.config.cjs", "--env", "production"]