| 12345678910111213141516171819202122232425262728293031323334353637383940 | # Build stageFROM registry.cn-hangzhou.aliyuncs.com/stuuudy/node:18-alpine as builder# Install pnpmRUN npm install -g pnpm# Set working directoryWORKDIR /app# Copy package filesCOPY package.json pnpm-lock.yaml ./# Install dependenciesRUN pnpm install --frozen-lockfile# Copy source codeCOPY . .# Build applicationRUN pnpm build# Production stageFROM registry.cn-hangzhou.aliyuncs.com/stuuudy/node:18-alpine# Install PM2RUN npm install -g pm2WORKDIR /app# 从构建阶段复制构建产物和必要文件COPY --from=builder /app/dist ./distCOPY --from=builder /app/package*.json ./COPY --from=builder /app/node_modules ./node_modulesCOPY --from=builder /app/.env ./.env# 暴露端口(根据您的应用需要修改)EXPOSE 3000# 启动应用CMD ["pm2-runtime", "dist/main.js"] 
 |