# builder:Debian bookworm + glibc,避免 Alpine 下 Vite/esbuild 段错误 FROM node:22-bookworm-slim AS builder WORKDIR /app ARG NPM_REGISTRY=https://registry.npmmirror.com ARG DEBIAN_MIRROR_HOST=mirrors.aliyun.com RUN sed -i "s/deb.debian.org/${DEBIAN_MIRROR_HOST}/g; s/security.debian.org/${DEBIAN_MIRROR_HOST}/g" /etc/apt/sources.list.d/debian.sources RUN npm config set registry "${NPM_REGISTRY}" COPY package.json package-lock.json /app/ RUN npm ci COPY . /app RUN npm run build \ && test -f /app/dist/index.html \ && ls -la /app/dist # 运行阶段:Nginx Alpine,apk 使用国内镜像加速 FROM nginx:1.27-alpine ARG ALPINE_MIRROR_HOST=mirrors.aliyun.com RUN sed -i "s/dl-cdn.alpinelinux.org/${ALPINE_MIRROR_HOST}/g" /etc/apk/repositories COPY nginx.conf /etc/nginx/conf.d/default.conf COPY --from=builder /app/dist /usr/share/nginx/html EXPOSE 80