1234567891011121314151617181920212223242526272829303132333435363738394041424344 |
- # 构建阶段
- FROM node:18-alpine as builder
- # 安装 pnpm
- RUN npm install -g pnpm
- # 安装 yarn
- RUN npm install -g yarn
- # 设置工作目录
- WORKDIR /app
- # 复制 package.json 和 lock 文件
- COPY package*.json ./
- COPY pnpm-lock.yaml ./
- COPY yarn.lock ./
- # 安装依赖
- RUN pnpm install
- # 复制源代码
- COPY . .
- # 构建应用
- RUN yarn build
- # 运行阶段
- FROM 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
- # 暴露端口(根据您的应用需要修改)
- EXPOSE 3000
- # 启动应用
- CMD ["pm2-runtime", "dist/main.js"]
|