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;"] |