27 lines
874 B
Docker
27 lines
874 B
Docker
# 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
|