fix docker Cannot find module 'socket.io'
This commit is contained in:
@@ -31,6 +31,9 @@ RUN pnpm run build
|
|||||||
# ---- 第 3 阶段:生成运行时镜像 ----
|
# ---- 第 3 阶段:生成运行时镜像 ----
|
||||||
FROM node:24-alpine AS runner
|
FROM node:24-alpine AS runner
|
||||||
|
|
||||||
|
# 启用 corepack 并激活 pnpm(用于安装额外依赖)
|
||||||
|
RUN corepack enable && corepack prepare pnpm@latest --activate
|
||||||
|
|
||||||
# 创建非 root 用户
|
# 创建非 root 用户
|
||||||
RUN addgroup -g 1001 -S nodejs && adduser -u 1001 -S nextjs -G nodejs
|
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/public ./public
|
||||||
COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static
|
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
|
USER nextjs
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user