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

    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
    반응형

    댓글