빌더
빌더 (Builders)
빌더(builder)는 빌드를 실행하는 데 사용하는 BuildKit 데몬이에요. BuildKit은 Dockerfile의 빌드 단계를 풀어서 컨테이너 이미지나 기타 산출물을 만들어내는 빌드 엔진이죠.
출처: 문서
본문
빌더를 생성·관리하고, 검사하고, 원격으로 실행 중인 빌더에 연결할 수도 있어요. 빌더와의 상호작용은 Docker CLI로 해요.
기본 빌더 (Default builder)
Docker Engine은 자동으로 하나의 빌더를 만들어 여러분 빌드의 기본 백엔드로 사용해요. 이 빌더는 데몬에 내장된 BuildKit 라이브러리를 사용해요. 이 빌더는 별도 구성이 필요 없어요. 새 Docker 컨텍스트에 전환하면 해당 컨텍스트의 기본 빌더를 가리키게 돼요.
빌드 드라이버 (Build drivers)
빌더의 동작 방식은 드라이버(driver)가 결정해요. Buildx가 지원하는 빌드 드라이버는 다음과 같아요:
- docker: Docker 데몬에 내장된 BuildKit 라이브러리 사용
- docker-container: Docker를 사용해 전용 BuildKit 컨테이너 생성
- kubernetes: Kubernetes 클러스터에 BuildKit 파드 생성
- remote: 수동으로 관리하는 BuildKit 데몬에 직접 연결
선택된 빌더 (Selected builder)
선택된 빌더(selected builder)는 빌드 명령을 실행할 때 기본적으로 사용되는 빌더예요.
BUILDX_BUILDER 환경 변수나 --builder 플래그로 빌더를 이름으로 지정할 수 있어요. 빌더를 지정하지 않으면 선택된 빌더가 사용돼요. docker buildx ls 명령에서 빌더 이름 옆의 별표(*)는 선택된 빌더를 나타내요:
$ docker buildx ls
NAME/NODE DRIVER/ENDPOINT STATUS BUILDKIT PLATFORMS
default * docker
default default running v0.11.6 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386
my_builder docker-container
my_builder0 default running v0.11.6 linux/amd64, linux/amd64/v2, linux/amd64/v3, linux/386
다른 빌더 선택하기 (Select a different builder)
docker buildx use 명령으로 사용할 빌더를 바꿀 수 있어요. 이 명령을 실행한 뒤부터는 빌드를 호출할 때 지정한 빌더가 자동으로 선택돼요. Buildx의 --builder 선택과 Docker의 --builder 선택 사이에는 미묘한 차이가 있으니 주의해요.