문제
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% 감소)
댓글 0