Infra2024년 6월 20일1분 읽기

Docker 멀티스테이지 빌드로 이미지 크기 90% 줄이기

YS
YoungSam
조회 1061

문제

Node.js 앱의 기본 Docker 이미지는 1GB 이상. 빌드 도구, 소스 코드가 모두 포함되어 있기 때문입니다.

멀티스테이지 빌드

# 빌드 스테이지
FROM node:20 AS builder
WORKDIR /app
COPY . .
RUN npm ci && npm run build

# 프로덕션 스테이지
FROM node:20-alpine
WORKDIR /app
COPY --from=builder /app/.next ./.next
COPY --from=builder /app/package.json ./
RUN npm ci --production
CMD ["npm", "start"]

결과: 1.2GB → 120MB (90% 감소)

DockerOptimizationBuild

댓글 0

아직 댓글이 없습니다.