아이티 코드

2. Dockerfile 작성 (Next.js 최적화)

느림보. 2025. 2. 22. 22:02

# 1️⃣ 빌드 스테이지

FROM node:18 AS builder

WORKDIR /app

 

# package.json과 package-lock.json 복사 후 의존성 설치

COPY package.json package-lock.json ./

RUN npm install --frozen-lockfile

 

# 소스 코드 복사 및 빌드

COPY . .

RUN npm run build

 

# 2️⃣ 실행 스테이지 (가벼운 이미지 사용)

FROM node:18-slim AS runner

WORKDIR /app

 

# 실행에 필요한 파일만 복사

COPY --from=builder /app/package.json ./

COPY --from=builder /app/.next/standalone ./

COPY --from=builder /app/.next/static ./.next/static

 

# 포트 설정

EXPOSE 3000

 

# Next.js 앱 실행

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