fix docker Cannot find module 'socket.io'

This commit is contained in:
mtvpls
2025-12-07 01:03:37 +08:00
parent 2d8b76c3d9
commit a1d8217658

View File

@@ -31,6 +31,9 @@ RUN pnpm run build
# ---- 第 3 阶段:生成运行时镜像 ----
FROM node:24-alpine AS runner
# 启用 corepack 并激活 pnpm用于安装额外依赖
RUN corepack enable && corepack prepare pnpm@latest --activate
# 创建非 root 用户
RUN addgroup -g 1001 -S nodejs && adduser -u 1001 -S nextjs -G nodejs
@@ -52,6 +55,12 @@ 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
# 复制 package.json 用于安装 Socket.IO 依赖
COPY --from=builder --chown=nextjs:nodejs /app/package.json ./package.json
# 安装 Socket.IO 相关依赖standalone 模式不会自动包含)
RUN pnpm add socket.io@^4.8.1 socket.io-client@^4.8.1 --prod
# 切换到非特权用户
USER nextjs