# ============================================ # 农产品直销平台 - 前端 Dockerfile # 多阶段构建: Node编译 → Nginx部署 # ============================================ # ---------- 第一阶段:Node构建 ---------- FROM node:18-alpine AS builder WORKDIR /app # 配置npm镜像(加速依赖下载) RUN npm config set registry https://registry.npmmirror.com # 先复制package文件,利用Docker缓存层 COPY package*.json ./ RUN npm install # 复制源代码并构建 COPY . . RUN npm run build # ---------- 第二阶段:Nginx部署 ---------- FROM nginx:1.25-alpine # 设置时区 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \ echo "Asia/Shanghai" > /etc/timezone # 复制自定义Nginx配置 COPY nginx.conf /etc/nginx/conf.d/default.conf # 从构建阶段复制静态文件 COPY --from=builder /app/dist /usr/share/nginx/html EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]