Dockerfile 729 B

123456789101112131415161718192021222324
  1. # 合并构建用户端前端和管理后台前端
  2. # 阶段1: 构建用户端前端
  3. FROM node:18-alpine AS user-builder
  4. WORKDIR /app
  5. COPY frontend/package.json ./
  6. RUN npm install --registry https://registry.npmmirror.com
  7. COPY frontend/ .
  8. RUN npm run build
  9. # 阶段2: 构建管理后台前端
  10. FROM node:18-alpine AS admin-builder
  11. WORKDIR /app
  12. COPY admin-frontend/package.json ./
  13. RUN npm install --registry https://registry.npmmirror.com
  14. COPY admin-frontend/ .
  15. RUN npm run build
  16. # 阶段3: Nginx 运行
  17. FROM nginx:alpine
  18. COPY nginx.conf /etc/nginx/conf.d/default.conf
  19. COPY --from=user-builder /app/dist /usr/share/nginx/user
  20. COPY --from=admin-builder /app/dist /usr/share/nginx/admin
  21. EXPOSE 80
  22. CMD ["nginx", "-g", "daemon off;"]