From 5e129fda8606434a6cabf8b40cab57c2e9478d10 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=83=A1=E6=97=AD?= <> Date: Thu, 25 Jun 2026 08:31:16 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E6=94=B9=E7=94=A8=20node:22-slim?= =?UTF-8?q?=EF=BC=88Debian=EF=BC=89=EF=BC=8C=E5=8E=BB=E6=8E=89=20Alpine=20?= =?UTF-8?q?openssl=20=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Alpine 包索引 TLS 错误导致 openssl 安装失败。 Debian slim 镜像自带 OpenSSL,无需额外安装。 同步修改 addgroup/adduser 为 Debian 语法。 --- Dockerfile | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index a90278a..86a271c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,8 @@ -FROM node:22-alpine AS base +FROM node:22-slim AS base # ── 依赖安装层 ── FROM base AS deps WORKDIR /app -RUN apk add --no-cache openssl RUN npm install -g pnpm@9 COPY package.json pnpm-lock.yaml ./ COPY prisma ./prisma @@ -13,7 +12,6 @@ RUN pnpm exec prisma generate # ── 构建层 ── FROM base AS builder WORKDIR /app -RUN apk add --no-cache openssl RUN npm install -g pnpm@9 COPY --from=deps /app/node_modules ./node_modules COPY . . @@ -23,13 +21,12 @@ RUN pnpm build # ── 运行层 ── FROM base AS runner WORKDIR /app -RUN apk add --no-cache openssl ENV NODE_ENV=production ENV NEXT_TELEMETRY_DISABLED=1 -RUN addgroup --system --gid 1001 nodejs -RUN adduser --system --uid 1001 nextjs +RUN groupadd --system --gid 1001 nodejs +RUN useradd --system --uid 1001 nextjs # 拷贝构建产物和依赖 COPY --from=builder /app/public ./public @@ -37,6 +34,7 @@ COPY --from=builder /app/.next/standalone ./ COPY --from=builder /app/.next/static ./.next/static COPY --from=deps /app/node_modules ./node_modules COPY --from=builder /app/prisma ./prisma + # 数据库持久化目录 RUN mkdir -p /app/prisma && chown -R nextjs:nodejs /app