[Docker] 이미지 Build

Docker 이미지 Build 란?

Docker Build는 Docker 이미지 를 생성하는 과정을 의미합니다. 이미지 빌드는 Dockerfile 파일을 기반으로 수행되며, 이 파일에는 이미지 생성에 필요한 명령어들이 단계별로 정의되어 있습니다.

Dockerfile 살펴보기

# Node.js 기반 이미지 사용
FROM node:18

# 앱 디렉토리 생성
WORKDIR /app

# package.json 복사 후 의존성 설치
COPY package*.json ./
RUN npm install

# 앱 소스 복사
COPY . .

# 포트 개방
EXPOSE 3000

# 앱 실행
CMD ["npm", "start"]

이미지 캐시와 레이어

Docker Build 는 명령어 하나하나를 레이어로 분리하여 캐시를 사용합니다. 예를 들어 COPY나 RUN 단계에서 변경이 없으면 이전 캐시를 재사용하여 빌드 속도를 높일 수 있습니다.

멀티 스테이지 빌드

# Build stage
FROM node:18 as builder
WORKDIR /app
COPY . .
RUN npm install && npm run build

# Production stage
FROM nginx:alpine
COPY --from=builder /app/dist /usr/share/nginx/html
Share