Files
012-kaopeilian/frontend/Dockerfile.simple
111 998211c483 feat: 初始化考培练系统项目
- 从服务器拉取完整代码
- 按框架规范整理项目结构
- 配置 Drone CI 测试环境部署
- 包含后端(FastAPI)、前端(Vue3)、管理端

技术栈: Vue3 + TypeScript + FastAPI + MySQL
2026-01-24 19:33:28 +08:00

53 lines
1.1 KiB
Docker
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 简化的Dockerfile专门解决构建问题
FROM node:18-alpine AS builder
WORKDIR /app
# 接收构建参数
ARG VITE_API_BASE_URL=https://aiedu.ireborn.com.cn/api
ARG VITE_WS_BASE_URL=wss://aiedu.ireborn.com.cn/ws
ARG VITE_USE_MOCK_DATA=false
# 设置环境变量
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
ENV VITE_WS_BASE_URL=$VITE_WS_BASE_URL
ENV VITE_USE_MOCK_DATA=$VITE_USE_MOCK_DATA
# 复制package文件
COPY package*.json ./
# 使用阿里云镜像源
RUN npm config set registry https://registry.npmmirror.com
# 安装依赖(跳过脚本)
RUN npm install --ignore-scripts
# 复制源代码
COPY . .
# 构建应用
RUN ./node_modules/.bin/vite build
# 生产阶段
FROM nginx:alpine
# 安装curl用于健康检查
RUN apk add --no-cache curl
# 复制nginx配置
COPY docker/nginx.conf /etc/nginx/nginx.conf
COPY docker/default.conf /etc/nginx/conf.d/default.conf
# 复制构建产物
COPY --from=builder /app/dist /usr/share/nginx/html
# 暴露端口
EXPOSE 80
# 健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
CMD curl -f http://localhost:80/ || exit 1
# 启动nginx
CMD ["nginx", "-g", "daemon off;"]