Docker Buildx를 사용하다 보면 기본 Builder만으로는 부족한 상황이 발생합니다.
특히 다음과 같은 환경에서는 별도의 Builder 생성이 필요합니다.
- 멀티 플랫폼 이미지 빌드
- CI/CD 전용 빌드 환경
- 프로젝트별 독립적인 빌드 환경
- 원격 BuildKit 서버 활용
- 여러 개발 환경 분리
Docker Buildx는 여러 개의 Builder를 생성하고 각각 다른 설정으로 운영할 수 있습니다.
이때 사용하는 명령어가 바로 Docker Buildx Create입니다.
Docker Buildx Create는 새로운 Buildx Builder 인스턴스를 생성하는 명령어입니다.
생성한 Builder는 별도의 BuildKit 환경을 사용하며, 원하는 Driver와 플랫폼 설정을 적용할 수 있습니다.
이번 글에서는 Docker Buildx Create의 개념부터 기본 사용법, 옵션 활용, 멀티 플랫폼 Builder 생성, 실무 활용 방법까지 자세히 알아보겠습니다.
Docker Buildx Create란 무엇인가?
Docker Buildx Create는 새로운 Buildx Builder를 생성하는 명령어입니다.
Builder는 Docker 이미지를 빌드하는 실행 환경입니다.
기본 Docker Builder 외에 추가 Builder를 만들어 다양한 빌드 환경을 구성할 수 있습니다.
생성 가능한 환경:
- docker Driver
- docker-container Driver
- kubernetes Driver
- remote Driver
Docker Buildx Create는 언제 사용하는가?
다음과 같은 상황에서 사용합니다.
- 멀티 플랫폼 빌드 환경 생성
- CI/CD 전용 Builder 구성
- 프로젝트별 빌드 분리
- BuildKit 기능 활용
- 독립적인 빌드 환경 운영
특히 docker-container Driver Builder는 고급 빌드 기능을 사용할 때 많이 사용됩니다.
Docker Buildx Create 기본 사용법
기본 형식:
docker buildx create
이름 없이 생성하면 자동으로 이름이 지정됩니다.
예:
happy_morse
같은 이름이 생성될 수 있습니다.
Builder 이름 지정하기
관리하기 쉬운 이름을 지정하는 것이 좋습니다.
명령:
docker buildx create \
--name my-builder
확인:
docker buildx ls
결과:
NAME
my-builder
생성된 Builder를 확인할 수 있습니다.
Docker Buildx Create –driver 사용법
Builder가 사용할 Driver를 지정할 수 있습니다.
예:
docker buildx create \
--name container-builder \
--driver docker-container
대표 Driver:
docker
기본 Docker 엔진 사용
docker-container
독립적인 BuildKit 컨테이너 사용
kubernetes
Kubernetes 환경 사용
remote
원격 BuildKit 서버 사용
Docker Buildx Create 후 바로 사용하기
생성과 동시에 활성 Builder로 설정할 수 있습니다.
옵션:
--use
예:
docker buildx create \
--name multi-builder \
--use
생성 후 바로 해당 Builder가 선택됩니다.
확인:
docker buildx ls
Docker Buildx Create –bootstrap 사용법
Builder 생성 후 바로 BuildKit을 실행하려면:
docker buildx create \
--name production-builder \
--bootstrap
BuildKit 컨테이너가 즉시 시작됩니다.
멀티 플랫폼 Builder 생성하기
멀티 플랫폼 빌드를 위해 Builder를 생성합니다.
예:
docker buildx create \
--name multi-platform \
--driver docker-container \
--use
초기화:
docker buildx inspect --bootstrap
지원 플랫폼 확인:
docker buildx inspect
Docker Buildx Create 실무 활용 예제
CI/CD 전용 Builder 생성
CI 환경에서 사용할 Builder 생성:
docker buildx create \
--name ci-builder \
--driver docker-container \
--use
초기화:
docker buildx inspect --bootstrap
이후 자동 빌드 환경에서 사용할 수 있습니다.
ARM·AMD64 멀티 플랫폼 Builder 생성
생성:
docker buildx create \
--name multi-builder \
--driver docker-container \
--use
확인:
docker buildx inspect
플랫폼:
linux/amd64
linux/arm64
멀티 플랫폼 이미지 빌드가 가능합니다.
Linux 서버 문제 해결
운영 서버에서 멀티 플랫폼 Docker 이미지를 만들려고 했지만 오류가 발생했습니다.
빌드:
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t app:v1 .
오류:
multiple platforms feature is currently not supported
확인:
docker buildx ls
결과:
default *
docker
기본 Builder를 사용하고 있었습니다.
멀티 플랫폼 Builder를 생성했습니다.
docker buildx create \
--name multi-builder \
--driver docker-container \
--use
초기화:
docker buildx inspect --bootstrap
다시 빌드:
docker buildx build \
--platform linux/amd64,linux/arm64 \
-t app:v1 .
정상적으로 멀티 플랫폼 빌드가 실행되었습니다.
Docker Buildx Create는 새로운 빌드 환경을 구성하는 가장 기본적인 Builder 관리 명령어입니다.
Docker Buildx Create 사용 시 주의사항
첫 번째는 Builder 이름을 관리하기 쉽게 지정하는 것이 좋습니다.
두 번째는 멀티 플랫폼 빌드에는 일반적으로 docker-container Driver를 사용하는 것이 좋습니다.
세 번째는 생성 후 inspect --bootstrap으로 정상 상태를 확인하는 것이 좋습니다.
네 번째는 사용하지 않는 Builder는 주기적으로 정리해야 합니다.
Best Practice
Docker Buildx Create를 사용할 때는 다음 방법을 추천합니다.
- Builder 이름 규칙을 정합니다.
- 프로젝트별 Builder를 분리합니다.
- CI/CD 전용 Builder를 운영합니다.
- 멀티 플랫폼은 docker-container Driver를 사용합니다.
- 생성 후 Bootstrap 상태를 확인합니다.
- 사용하지 않는 Builder는 삭제합니다.
자주 묻는 질문
Docker Buildx Create는 무엇인가요?
새로운 Docker Buildx Builder 환경을 생성하는 명령어입니다.
기본 Builder와 다른 점은 무엇인가요?
별도의 BuildKit 환경과 설정을 사용할 수 있습니다.
Builder를 여러 개 만들어도 되나요?
가능합니다.
프로젝트와 환경별로 분리하여 관리할 수 있습니다.
Create 후 바로 사용할 수 있나요?
--use 옵션을 사용하면 생성과 동시에 활성화할 수 있습니다.
마무리
Docker Buildx Create는 Docker 빌드 환경을 확장하기 위한 핵심 명령어입니다.
새로운 Builder를 생성하면 멀티 플랫폼 빌드, CI/CD 자동화, 프로젝트별 독립 환경 구성 등 다양한 고급 Docker 기능을 활용할 수 있습니다.
특히 docker buildx create, docker buildx use, docker buildx inspect를 함께 사용하면 Builder 생성부터 관리까지 체계적인 Docker 빌드 환경을 구축할 수 있습니다.