강의/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 이미지를 만들 수 있습니다.
참고
728x90
반응형