Xing Jinwen | 1149647 | 2025-06-06 13:16:26 +0800 | [diff] [blame] | 1 | # Build stage
|
Xing Jinwen | 1149647 | 2025-06-06 13:16:26 +0800 | [diff] [blame] | 2 | FROM node:18-alpine AS build
|
| 3 | WORKDIR /app
|
| 4 | COPY package*.json ./
|
| 5 | RUN npm install
|
Xing Jinwen | 7ee48d8 | 2025-06-08 20:11:47 +0800 | [diff] [blame] | 6 | COPY . .
|
Xing Jinwen | 1149647 | 2025-06-06 13:16:26 +0800 | [diff] [blame] | 7 | RUN npm run build
|
| 8 |
|
| 9 | # Production stage
|
Xing Jinwen | 1149647 | 2025-06-06 13:16:26 +0800 | [diff] [blame] | 10 | FROM nginx:stable-alpine AS base
|
Xing Jinwen | 7ee48d8 | 2025-06-08 20:11:47 +0800 | [diff] [blame] | 11 | # 复制构建好的前端文件
|
Xing Jinwen | 1149647 | 2025-06-06 13:16:26 +0800 | [diff] [blame] | 12 | COPY --from=build /app/dist /usr/share/nginx/html
|
Xing Jinwen | 7ee48d8 | 2025-06-08 20:11:47 +0800 | [diff] [blame] | 13 |
|
| 14 | # 关键:复制自定义的 nginx 配置文件
|
| 15 | COPY nginx.conf /etc/nginx/conf.d/default.conf
|
| 16 |
|
Xing Jinwen | 1149647 | 2025-06-06 13:16:26 +0800 | [diff] [blame] | 17 | EXPOSE 80
|
Xing Jinwen | 7ee48d8 | 2025-06-08 20:11:47 +0800 | [diff] [blame] | 18 | CMD ["nginx", "-g", "daemon off;"] |