# 多阶段构建 Dockerfile for 若依 Vue3 前端应用 # 第一阶段:构建阶段 FROM node:18-alpine AS build-stage # 设置工作目录 WORKDIR /app # 复制 package.json 和 package-lock.json(如果存在) COPY RuoYi-Vue3/package*.json ./ # 安装依赖 RUN npm install --registry=https://registry.npmmirror.com # 复制源代码 COPY RuoYi-Vue3/ . # 构建应用 RUN npm run build:prod # 第二阶段:运行阶段 FROM nginx:alpine AS production-stage # 定义构建参数 ARG ENVIRONMENT=development # 安装 tzdata 用于时区设置 RUN apk add --no-cache tzdata # 设置时区 ENV TZ=Asia/Shanghai # 从构建阶段复制构建产物到 nginx 默认目录 COPY --from=build-stage /app/dist /usr/share/nginx/html # 根据环境复制对应的 nginx 配置文件 COPY docker/configs/nginx.conf.${ENVIRONMENT} /etc/nginx/conf.d/default.conf # 创建日志目录 RUN mkdir -p /var/log/nginx # 暴露端口 EXPOSE 80 # 启动 nginx CMD ["nginx", "-g", "daemon off;"]