8686d101cd
## 已实现功能 - 题库管理后端API完整实现 - 模板管理页面(Settings-测评模板) - 评估统计页面 - 人才测评页面(AssessmentView) - QuestionBank前端服务层 ## 技术栈 - 后端: Node.js + NestJS + TypeORM - 前端: React + TypeScript - 容器化: Docker Compose ## 已知待完善 - 题库列表页缺少删除按钮 - 题库详情页未实现(题目管理/AI生成/审核)
37 lines
806 B
Docker
37 lines
806 B
Docker
FROM node:22-alpine as builder
|
|
|
|
WORKDIR /app
|
|
|
|
# 设置阿里云源
|
|
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
|
|
|
|
# 设置 yarn 阿里云源并安装依赖
|
|
COPY web/package*.json web/yarn.lock* ./
|
|
RUN yarn config set registry https://registry.yarnpkg.com && \
|
|
yarn install
|
|
|
|
# 复制源代码
|
|
COPY web/ .
|
|
|
|
# 设置构建时环境变量
|
|
ARG VITE_API_BASE_URL=/api
|
|
ENV VITE_API_BASE_URL=$VITE_API_BASE_URL
|
|
|
|
# 构建应用
|
|
RUN yarn build
|
|
|
|
# 使用nginx提供静态文件
|
|
FROM nginx:alpine
|
|
|
|
# 删除默认配置
|
|
RUN rm /etc/nginx/conf.d/default.conf
|
|
|
|
# 复制自定义 Nginx 配置
|
|
COPY nginx/conf.d/kb.conf /etc/nginx/conf.d/kb.conf
|
|
|
|
# 复制构建产物到nginx目录
|
|
COPY --from=builder /app/dist /usr/share/nginx/html
|
|
|
|
EXPOSE 80 443
|
|
|
|
CMD ["nginx", "-g", "daemon off;"] |