Dockerfile 524 B

123456789101112131415161718192021222324
  1. # 多阶段构建前端
  2. FROM docker.xuanyuan.me/library/node:20-alpine AS builder
  3. WORKDIR /app
  4. COPY package.json ./
  5. RUN npm ci
  6. COPY . .
  7. ARG VITE_API_BASE_URL=/api/v1
  8. ARG VITE_WS_BASE_URL=/ws
  9. ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
  10. ENV VITE_WS_BASE_URL=$VITE_WS_BASE_URL
  11. RUN npm run build
  12. # 使用 nginx 提供静态文件
  13. FROM docker.xuanyuan.me/library/nginx:1.27-alpine
  14. COPY --from=builder /app/dist /usr/share/nginx/html
  15. COPY nginx.conf /etc/nginx/conf.d/default.conf
  16. EXPOSE 80
  17. CMD ["nginx", "-g", "daemon off;"]