최적화 전략
# 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
댓글 0