강의/Docker & Kubernetes : 실전 가이드

[64] 빌드 인수 (ARG) 사용하기

JJIMJJIM 2025. 2. 24. 20:28
728x90
반응형

빌드 인수 (ARG) 사용하기

 

ARG 기본 개념

Dockerfile에서 ARG 사용

# 빌드 시 사용할 인수 정의
ARG DEFAULT_PORT=80

# 환경변수에 ARG 값 할당
ENV PORT $DEFAULT_PORT

 

빌드 시 인수 전달

# 다른 포트로 개발용 이미지 빌드
docker build -t feedback-node:dev --build-arg DEFAULT_PORT=8000 .

# 프로덕션용 이미지는 다른 포트로 빌드
docker build -t feedback-node:prod --build-arg DEFAULT_PORT=80 .

 

 

ARG의 특징

사용 범위

  • Dockerfile 내부에서만 사용 가능
  • 컨테이너 실행 시에는 사용 불가
  • CMD 명령에서는 사용 불가

 

용도

  • 빌드 시점에 값 주입
  • 환경변수의 기본값 설정
  • 동일 Dockerfile로 다양한 설정의 이미지 생성

 

 

최적화 팁

ARG 위치 최적화

COPY . .
RUN npm install
# 캐시 활용을 위해 변경 가능한 명령어는 나중에 배치
ARG DEFAULT_PORT=80
ENV PORT $DEFAULT_PORT

 

레이어 고려사항

  • ARG와 ENV도 새로운 레이어 생성
  • 빌드 캐시 활용을 위해 위치 중요
  • 자주 변경되는 값은 마지막에 배치

 

 

장점

유연성

  • 하나의 Dockerfile로 다양한 이미지 생성
  • 빌드 시점에 값 변경 가능

 

관리 용이성

  • 하드코딩 방지
  • 설정 중앙화 가능

이러한 빌드 인수를 통해 더 유연하고 관리하기 쉬운 Docker 이미지를 만들 수 있습니다.

 

 

 

 

참고

https://www.udemy.com/course/docker-kubernetes-2022

728x90
반응형