[Dockerfile] ARG (Build-time 변수)
·
virtual environment/Docker
ARG (Build-time 변수)"Dockerfile 빌드 시점에 외부에서 값을 주입할 수 있는 변수" ENV와 유사하지만, ARG는 빌드 타임에만 유효사용자 정의 인자를 통해 유연한 Dockerfile 구성 가능항목 설명🆚 ENV와의 차이점ARG는 **빌드 타임(build-time)**에만 유효하고, 컨테이너 내부에서는 사용 불가 (단, ENV에 전달해 연계 사용 가능)🛠️ 목적빌드 시 설정을 외부에서 주입 → 사용자 정의 인자를 통해 유연한 Dockerfile 작성 가능🔒 보안빌드 후 이미지에서는 ARG 값이 남지 않음 → 민감 정보 처리에 상대적으로 안전 (단, Docker history엔 남을 수 있음)사용 예시# DockerfileARG BASE_IMAGE=python:3.10-slimF..
Dockerfile Multi-Stage Build
·
virtual environment/Docker
1. Multi-Stage Build"빌드와 실행 환경을 분리하여 최적화된 이미지를 생성"개요Multi-Stage Build는 Dockerfile에서 여러 개의 FROM을 사용하는 방식각 FROM 명령은 별도의 독립된 빌드 단계(Stage) 를 나타내기 때문에 여러 개의 FROM 절을 사용하여 빌드와 런타임 이미지를 분리초기 단계에서는 빌드에 필요한 모든 도구(GCC, Go, Node.js 등)를 설치한 이미지에서 애플리케이션을 빌드최종 단계에서는 필요한 실행 파일만 최소한의 베이스 이미지에 복사하여 실행 환경을 구성빌드에 필요한 도구들을 최종 이미지에 포함시키지 않음 → 이미지 크기 최소화, 보안성 향상Multi-Stage Build를 사용하는 이유프로젝트에는 보통 다음과 같은 작업이 필요함.단계 설명..