Dockerfile 950 B

123456789101112131415161718192021222324252627282930313233
  1. # =========================================================================
  2. # 智能股票分析助手 — 前端 Dockerfile(多阶段构建)
  3. #
  4. # 第一阶段: Node.js 构建 Vue3 应用
  5. # 第二阶段: Nginx 提供静态文件 + API 反向代理
  6. # 构建: docker build -t stock-analyzer-frontend -f frontend/Dockerfile .
  7. # =========================================================================
  8. # ---- 构建阶段 ----
  9. FROM node:20-alpine AS build
  10. WORKDIR /app
  11. # 复制依赖文件并安装
  12. COPY frontend/package.json frontend/package-lock.json ./
  13. RUN npm ci || npm install
  14. # 复制前端源码并构建
  15. COPY frontend/ ./
  16. RUN npm run build
  17. # ---- 生产阶段 ----
  18. FROM nginx:alpine
  19. # 复制构建产物到 Nginx 静态目录
  20. COPY --from=build /app/dist /usr/share/nginx/html
  21. # 复制 Nginx 配置(SPA路由 + API反向代理)
  22. COPY frontend/nginx.conf /etc/nginx/conf.d/default.conf
  23. EXPOSE 80
  24. CMD ["nginx", "-g", "daemon off;"]