From c87523073d152dd969a1ef03a831f4e8c0504872 Mon Sep 17 00:00:00 2001 From: ngks Date: Fri, 19 Dec 2025 14:38:10 +0800 Subject: [PATCH] =?UTF-8?q?update:'=E4=BF=AE=E6=94=B9=E5=89=8D=E7=AB=AFdoc?= =?UTF-8?q?kerfile'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 75206565..2bb06def 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,42 @@ # 阶段1: 构建阶段 -FROM node:22.14.0-slim AS builder +FROM node:24.7.0-slim AS builder WORKDIR /app -# 全局安装 pnpm -RUN npm install -g pnpm +RUN npm config set registry https://registry.npmmirror.com \ + && npm install -g pnpm \ + && pnpm config set registry https://registry.npmmirror.com # 复制依赖文件 COPY package.json pnpm-lock.yaml ./ -RUN pnpm install --registry https://registry.npmmirror.com -# 复制源码并构建 +# 【合并2】强制安装依赖 +RUN pnpm install --force \ + && pnpm add -D @unocss/eslint-plugin + COPY . . + +# 执行生产构建(和你本地的build:prod命令一致) RUN pnpm run build:prod # 阶段2: 生产运行阶段 -FROM node:22.14.0-slim +FROM node:24.7.0-slim WORKDIR /app -# 全局安装 pnpm(确保运行时可用) -RUN npm install -g pnpm --registry https://registry.npmmirror.com +# 【合并3】设置npm镜像源 + 全局安装pnpm + 设置pnpm镜像源 +RUN npm config set registry https://registry.npmmirror.com \ + && npm install -g pnpm \ + && pnpm config set registry https://registry.npmmirror.com -# 从构建阶段复制所有文件(包括 node_modules 和构建产物) COPY --from=builder /app . # 设置环境变量 ENV PORT 8088 ENV NODE_ENV production +# 暴露端口 EXPOSE 8088 -# 使用 pnpm 启动 +# 启动应用 CMD ["pnpm", "start"] \ No newline at end of file