# 使用docker环境对代码进行编译 FROM registry.cn-hangzhou.aliyuncs.com/stuuudy/node:18-alpine as builder # 安装 pnpm RUN npm install -g pnpm # 设置工作目录 WORKDIR /app # 复制 package.json 和 lock 文件 COPY package*.json ./ COPY pnpm-lock.yaml ./ # 安装依赖 RUN pnpm install # 复制源代码 COPY . . RUN yarn build # 将编译完成后的代码打包成dokcer镜像 FROM registry.cn-hangzhou.aliyuncs.com/stuuudy/node:18-alpine # 安装 PM2 RUN npm install -g pm2 WORKDIR /app # 从构建阶段复制构建产物和必要文件 COPY --from=builder /app/dist ./dist COPY --from=builder /app/package*.json ./ COPY --from=builder /app/node_modules ./node_modules COPY --from=builder /app/.env ./.env # 暴露端口(根据您的应用需要修改) EXPOSE 3000 # 启动应用 CMD ["pm2-runtime", "dist/main.js"]