| 12345678910111213141516171819202122232425262728293031323334 |
- # 第一阶段:构建阶段
- FROM node:22 AS build-stage
- # 安装 pnpm
- RUN corepack enable && corepack prepare pnpm@latest --activate
- WORKDIR /app
- # 复制包管理文件
- COPY pnpm-lock.yaml .npmrc package.json ./
- # 安装依赖(使用 pnpm)
- RUN pnpm install --frozen-lockfile --ignore-scripts
- # 复制项目文件
- COPY . .
- # 构建项目
- RUN pnpm run build:prod
- # 第二阶段:生产阶段
- FROM nginx:alpine AS production-stage
- # 复制构建好的文件到 nginx
- COPY --from=build-stage /app/dist /usr/share/nginx/html/frontend
- # 复制自定义 nginx 配置(可选)
- COPY nginx.conf /etc/nginx/conf.d/default.conf
- # 暴露端口
- EXPOSE 80
- # 启动 nginx
- CMD ["nginx", "-g", "daemon off;"]
|