Infra2026년 3월 22일1분 읽기

컨테이너 이미지 최적화 — 멀티스테이지 빌드 고급 패턴

YS
YoungSam
조회 409

최적화 전략

# Stage 1: 의존성 설치
FROM node:22-alpine AS deps
WORKDIR /app
COPY package.json pnpm-lock.yaml ./
RUN corepack enable && pnpm install --frozen-lockfile

# Stage 2: 빌드
FROM deps AS builder
COPY . .
RUN pnpm build

# Stage 3: 프로덕션
FROM node:22-alpine AS runner
WORKDIR /app
ENV NODE_ENV=production
COPY --from=builder /app/.next/standalone ./
COPY --from=builder /app/public ./public

EXPOSE 3000
CMD ["node", "server.js"]

크기 비교

# 최적화 전: 1.2GB
# 멀티스테이지: 180MB
# distroless: 120MB
DockerOptimizationContainer

댓글 0

아직 댓글이 없습니다.