Dockerfile 775 B

1234567891011121314151617181920212223242526
  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. ENV VITE_API_BASE_URL=
  9. RUN npm run build
  10. # 阶段2: 构建管理后台前端
  11. FROM node:18-alpine AS admin-builder
  12. WORKDIR /app
  13. COPY admin-frontend/package.json ./
  14. RUN npm install --registry https://registry.npmmirror.com
  15. COPY admin-frontend/ .
  16. ENV VITE_API_BASE_URL=
  17. RUN npm run build
  18. # 阶段3: Nginx 运行
  19. FROM nginx:alpine
  20. COPY nginx.conf /etc/nginx/conf.d/default.conf
  21. COPY --from=user-builder /app/dist /usr/share/nginx/user
  22. COPY --from=admin-builder /app/dist /usr/share/nginx/admin
  23. EXPOSE 80
  24. CMD ["nginx", "-g", "daemon off;"]