2025-12-15 16:13:47 +08:00
|
|
|
# =============================================
|
|
|
|
|
# DeepAudit Frontend Docker 构建
|
|
|
|
|
# =============================================
|
|
|
|
|
# 使用 Nginx 提供静态文件和反向代理 (支持 SSE 流式传输)
|
|
|
|
|
|
2025-12-05 20:51:22 +08:00
|
|
|
FROM node:20-alpine AS builder
|
2025-11-26 21:11:12 +08:00
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2025-12-16 12:34:57 +08:00
|
|
|
# 彻底清除代理设置
|
|
|
|
|
ENV http_proxy=""
|
|
|
|
|
ENV https_proxy=""
|
|
|
|
|
ENV HTTP_PROXY=""
|
|
|
|
|
ENV HTTPS_PROXY=""
|
|
|
|
|
ENV all_proxy=""
|
|
|
|
|
ENV ALL_PROXY=""
|
|
|
|
|
ENV no_proxy="*"
|
|
|
|
|
ENV NO_PROXY="*"
|
|
|
|
|
|
|
|
|
|
# 配置国内 npm 镜像源
|
|
|
|
|
RUN npm config set registry https://registry.npmmirror.com && \
|
|
|
|
|
npm install -g pnpm && \
|
|
|
|
|
pnpm config set registry https://registry.npmmirror.com
|
2025-11-26 21:11:12 +08:00
|
|
|
|
2025-11-28 20:34:15 +08:00
|
|
|
# 复制依赖文件
|
|
|
|
|
COPY package.json pnpm-lock.yaml ./
|
2025-11-26 21:11:12 +08:00
|
|
|
|
2025-12-16 12:34:57 +08:00
|
|
|
RUN pnpm install --no-frozen-lockfile
|
2025-11-28 20:34:15 +08:00
|
|
|
|
|
|
|
|
# 复制源代码
|
2025-11-26 21:11:12 +08:00
|
|
|
COPY . .
|
|
|
|
|
|
2025-12-15 16:13:47 +08:00
|
|
|
# 🔥 构建时使用相对路径 /api - Nginx 会处理代理
|
|
|
|
|
ENV VITE_API_BASE_URL=/api/v1
|
2025-12-05 20:51:22 +08:00
|
|
|
|
|
|
|
|
# 构建生产版本
|
|
|
|
|
RUN pnpm build
|
|
|
|
|
|
2025-12-15 16:13:47 +08:00
|
|
|
# =============================================
|
|
|
|
|
# 生产镜像 - 使用 Nginx (支持 SSE 反向代理)
|
|
|
|
|
# =============================================
|
|
|
|
|
FROM nginx:alpine
|
2025-12-05 20:51:22 +08:00
|
|
|
|
|
|
|
|
# 复制构建产物
|
2025-12-15 16:13:47 +08:00
|
|
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
2025-12-11 19:09:10 +08:00
|
|
|
|
2025-12-15 16:13:47 +08:00
|
|
|
# 复制 Nginx 配置 (包含 SSE 反向代理配置)
|
|
|
|
|
COPY nginx.conf /etc/nginx/conf.d/default.conf
|
2025-12-11 20:33:46 +08:00
|
|
|
|
2025-12-15 16:13:47 +08:00
|
|
|
EXPOSE 80
|
2025-12-11 20:33:46 +08:00
|
|
|
|
2025-12-15 16:13:47 +08:00
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|