# 构建阶段 FROM node:20-alpine AS builder WORKDIR /app # 复制 package 文件 COPY package*.json ./ RUN npm ci # 复制源码 COPY . . # 设置构建参数并构建(默认使用相对路径,由 nginx 代理) ARG VITE_PB_URL= ENV VITE_PB_URL=$VITE_PB_URL RUN npm run build # 生产阶段 FROM nginx:alpine # 复制构建产物 COPY --from=builder /app/dist /usr/share/nginx/html # 通过 NGINX_CONF 参数选择配置文件(默认 dev) ARG NGINX_CONF=nginx.conf COPY ${NGINX_CONF} /etc/nginx/conf.d/default.conf EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]