diff --git a/modify.md b/modify.md index 0418639f..b3936727 100644 --- a/modify.md +++ b/modify.md @@ -35,7 +35,8 @@ 3. **sharp 支持**: - 在 builder 阶段安装 sharp(作为依赖) - standalone 模式自动包含 sharp 到 `.next/standalone/node_modules` - - runner 阶段只需要 libc6-compat(Alpine 兼容性),sharp 自带预编译二进制 + - runner 阶段安装 libc6-compat(可选):用于 Alpine musl 提供 glibc 兼容性,帮助 sharp 在 Alpine 上运行 + - **注意**:libc6-compat 与 standalone 模式无关,只是为了在 Alpine 上运行需要 glibc 的包(如 sharp) ### 使用说明 1. **构建镜像**: diff --git a/site/Dockerfile b/site/Dockerfile index 9d00c38d..c0266869 100644 --- a/site/Dockerfile +++ b/site/Dockerfile @@ -11,7 +11,7 @@ FROM node:20-alpine AS builder WORKDIR /app -# 安装构建依赖(一次性安装,减少层数) +# 安装构建依赖(可选:libc6-compat 用于 Alpine musl 提供 glibc 兼容性,帮助 sharp 等需要 glibc 的包运行) RUN apk add --no-cache libc6-compat # 复制 package 文件 @@ -40,11 +40,13 @@ ENV HOSTNAME="0.0.0.0" RUN addgroup --system --gid 1001 nodejs && \ adduser --system --uid 1001 nextjs -# 安装运行时依赖(仅 libc6-compat,sharp 自带预编译二进制) +# 安装运行时依赖(可选:libc6-compat 用于 Alpine musl 提供 glibc 兼容性,帮助 sharp 运行) +# 注意:libc6-compat 与 standalone 模式无关,只是为了在 Alpine 上运行需要 glibc 的包 RUN apk add --no-cache libc6-compat # 复制 standalone 输出(Next.js standalone 模式会自动包含 dependencies 中的所有包,包括 sharp) # standalone 目录结构:server.js + node_modules(包含所有运行时依赖) +# 注意:standalone 模式与 libc6-compat 无关,libc6-compat 只是为了在 Alpine 上运行 sharp COPY --from=builder --chown=nextjs:nodejs /app/.next/standalone ./ COPY --from=builder --chown=nextjs:nodejs /app/.next/static ./.next/static