feat(docker): 限制 V8 老生代堆上限防 OOM

This commit is contained in:
asgerzhou
2026-07-29 17:44:59 +08:00
parent d1c1a371ca
commit 36a4704d69
+3
View File
@@ -19,6 +19,9 @@ RUN --mount=type=cache,id=pnpm-store,target=/root/.local/share/pnpm/store \
# ---- 构建层:生成 Prisma Client + Next.js 产物 ---- # ---- 构建层:生成 Prisma Client + Next.js 产物 ----
FROM base AS builder FROM base AS builder
ENV NEXT_TELEMETRY_DISABLED=1 NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 NODE_ENV=production
# 限制 V8 老生代堆上限(MB),需略低于容器内存限额,让 V8 主动 GC 而非被 OOM Killer 强杀
# 默认 2048MB,按实际容器内存调整(例如容器限 3G 则设 2560,留余量给非堆开销)
ENV NODE_OPTIONS="--max-old-space-size=2048"
# 构建时仅需 DATABASE_URL(db:generate 生成 Drizzle Client) # 构建时仅需 DATABASE_URL(db:generate 生成 Drizzle Client)
ARG DATABASE_URL ARG DATABASE_URL
ENV DATABASE_URL=${DATABASE_URL} ENV DATABASE_URL=${DATABASE_URL}