2025-12-08 03:12:00 -05:00
|
|
|
# 前端构建阶段
|
2025-12-10 08:27:42 -05:00
|
|
|
FROM docker-registry.local:36000/base/node:20.11-alpine3.19 AS builder
|
2025-12-08 03:12:00 -05:00
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
# 先复制依赖声明,利用缓存
|
2025-12-08 04:28:54 -05:00
|
|
|
COPY vue-ui/package*.json ./
|
2025-12-08 03:12:00 -05:00
|
|
|
|
|
|
|
|
# 使用国内镜像源并安装依赖
|
2025-12-08 04:43:25 -05:00
|
|
|
# RUN npm config set registry https://registry.npmmirror.com \
|
|
|
|
|
# && npm ci --no-audit --no-fund
|
2025-12-08 03:12:00 -05:00
|
|
|
|
|
|
|
|
# 复制源码并构建
|
2025-12-08 04:17:26 -05:00
|
|
|
COPY vue-ui/ .
|
2025-12-08 04:43:25 -05:00
|
|
|
# RUN npm run build
|
2025-12-08 03:12:00 -05:00
|
|
|
|
|
|
|
|
# 运行阶段,使用独立 nginx 镜像
|
2025-12-10 08:27:42 -05:00
|
|
|
FROM docker-registry.local:36000/base/nginx:alpine-stable AS runtime
|
2025-12-08 03:12:00 -05:00
|
|
|
|
|
|
|
|
# 清理默认页面
|
|
|
|
|
WORKDIR /usr/share/nginx/html
|
|
|
|
|
RUN rm -rf ./*
|
|
|
|
|
|
|
|
|
|
# 拷贝构建产物
|
2025-12-08 04:43:25 -05:00
|
|
|
# 直接使用构建上下文中的 dist.tgz
|
|
|
|
|
ADD dist.tgz .
|
2025-12-08 03:12:00 -05:00
|
|
|
|
|
|
|
|
EXPOSE 80
|
|
|
|
|
CMD ["nginx", "-g", "daemon off;"]
|