From fb83bb5a050721226161cdac0e05f4a35ff26e1a Mon Sep 17 00:00:00 2001 From: mtvpls Date: Fri, 16 Jan 2026 16:36:40 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B0=9D=E8=AF=95=E4=BC=98=E5=8C=96=E9=95=9C?= =?UTF-8?q?=E5=83=8F=E5=A4=A7=E5=B0=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Dockerfile | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index b32cdcf..1f802e6 100644 --- a/Dockerfile +++ b/Dockerfile @@ -28,6 +28,9 @@ ENV DOCKER_ENV=true # 生成生产构建 RUN pnpm run build +# 使用 pnpm deploy 提取生产依赖到独立目录 +RUN pnpm deploy --filter=. --prod /tmp/prod-deps + # ---- 第 3 阶段:生成运行时镜像 ---- FROM node:24-alpine AS runner @@ -55,8 +58,8 @@ COPY --from=builder --chown=nextjs:nodejs /app/server.js ./server.js COPY --from=builder --chown=nextjs:nodejs /app/public ./public COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static -# 安装 Socket.IO 相关依赖(standalone 模式不会自动包含) -RUN pnpm add socket.io@^4.8.1 socket.io-client@^4.8.1 --prod +# 从构建器中复制生产依赖(包含 Socket.IO) +COPY --from=builder --chown=nextjs:nodejs /tmp/prod-deps/node_modules ./node_modules # 切换到非特权用户 USER nextjs