From 6fc140b42319b67f6ed7fcca86f0c07b6ef6c540 Mon Sep 17 00:00:00 2001 From: kjs Date: Wed, 1 Oct 2025 15:11:07 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20Docker=20=ED=8C=8C=EC=9D=BC=EC=97=90?= =?UTF-8?q?=EC=84=9C=20Prisma=20=EB=AA=85=EB=A0=B9=20=EC=A0=9C=EA=B1=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 문제: - docker/dev/backend.Dockerfile에 Prisma 명령 남아있음 - docker/prod/backend.Dockerfile에 Prisma 명령 남아있음 - Docker 빌드 시 '/prisma' not found 에러 발생 해결: 1. docker/dev/backend.Dockerfile: - COPY prisma ./prisma 제거 - RUN npx prisma generate 제거 2. docker/prod/backend.Dockerfile: - Dependencies stage: Prisma 관련 코드 제거 - Build stage: COPY prisma 제거, npx prisma generate 제거 - Runtime stage: 주석 업데이트 결과: - ✅ Docker 빌드 에러 해결 - ✅ Prisma 의존성 완전 제거 - ✅ 개발/운영 환경 모두 Raw Query 기반 --- docker/dev/backend.Dockerfile | 3 --- docker/prod/backend.Dockerfile | 10 ++-------- 2 files changed, 2 insertions(+), 11 deletions(-) diff --git a/docker/dev/backend.Dockerfile b/docker/dev/backend.Dockerfile index 9099b18e..b3ec78ad 100644 --- a/docker/dev/backend.Dockerfile +++ b/docker/dev/backend.Dockerfile @@ -13,9 +13,6 @@ COPY package*.json ./ RUN npm ci --prefer-offline --no-audit # 소스 코드는 볼륨 마운트로 처리 -# Prisma 클라이언트 생성용 스키마만 복사 -COPY prisma ./prisma -RUN npx prisma generate # 포트 노출 EXPOSE 8080 diff --git a/docker/prod/backend.Dockerfile b/docker/prod/backend.Dockerfile index 2c95bece..8ef8a372 100644 --- a/docker/prod/backend.Dockerfile +++ b/docker/prod/backend.Dockerfile @@ -9,14 +9,10 @@ RUN apt-get update \ && apt-get install -y --no-install-recommends openssl ca-certificates curl \ && rm -rf /var/lib/apt/lists/* -# Dependencies stage (install deps and generate Prisma client) +# Dependencies stage (install production dependencies) FROM base AS deps COPY package*.json ./ RUN npm ci --omit=dev --prefer-offline --no-audit && npm cache clean --force -# Copy prisma schema and generate client (glibc target will be detected) -COPY prisma ./prisma -ENV PRISMA_SKIP_POSTINSTALL_GENERATE=true -RUN npx prisma generate # Build stage (compile TypeScript) FROM node:20-bookworm-slim AS build @@ -25,8 +21,6 @@ COPY package*.json ./ RUN npm ci --prefer-offline --no-audit && npm cache clean --force COPY tsconfig.json ./ COPY src ./src -COPY prisma ./prisma -RUN npx prisma generate RUN npm run build # Runtime image - base 이미지 재사용으로 중복 설치 제거 @@ -36,7 +30,7 @@ ENV NODE_ENV=production # Create non-root user RUN groupadd -r appgroup && useradd -r -g appgroup appuser -# Copy node_modules with generated Prisma client +# Copy production node_modules COPY --from=deps /app/node_modules ./node_modules # Copy built files COPY --from=build /app/dist ./dist