Docker Buildx를 사용하다 보면 여러 개의 Builder를 생성하고 관리하게 됩니다.
개발용 Builder, 운영용 Builder, CI/CD 전용 Builder 등 다양한 환경을 구성할 수 있지만, Builder가 많아질수록 현재 Builder가 어떤 설정으로 동작하는지 확인하는 것이 중요합니다.
특히 멀티 플랫폼 빌드를 진행할 때는 다음과 같은 정보를 확인해야 합니다.
- 어떤 Driver를 사용하는지
- 지원하는 플랫폼은 무엇인지
- BuildKit 상태는 정상인지
- Builder Node가 정상적으로 연결되어 있는지
이럴 때 사용하는 명령어가 바로 docker buildx inspect입니다.
Docker Buildx Inspect는 특정 Builder의 상세 정보를 확인하는 명령어입니다. Builder의 Driver, Node 상태, 지원 플랫폼, BuildKit 정보 등을 확인할 수 있어 빌드 환경 분석과 문제 해결에 매우 유용합니다.
이번 글에서는 Docker Buildx Inspect의 개념부터 기본 사용법, 출력 결과 해석, Bootstrap 옵션, 실무 활용 방법까지 자세히 알아보겠습니다.
Docker Buildx Inspect란 무엇인가?
Docker Buildx Inspect는 Buildx Builder의 상세 설정 정보를 확인하는 명령어입니다.
docker buildx ls가 Builder 목록을 확인하는 용도라면, docker buildx inspect는 특정 Builder 내부 정보를 확인하는 용도로 사용됩니다.
확인 가능한 정보:
- Builder 이름
- Driver 종류
- Node 정보
- BuildKit 상태
- 지원 플랫폼
- Endpoint 정보
Docker Buildx Inspect는 언제 사용하는가?
다음과 같은 상황에서 사용합니다.
- Builder 설정 확인
- 멀티 플랫폼 지원 확인
- 빌드 오류 분석
- BuildKit 상태 점검
- 원격 Builder 연결 확인
- CI/CD 환경 문제 해결
Buildx 환경을 운영한다면 반드시 알아야 하는 명령어입니다.
Docker Buildx Inspect 기본 사용법
가장 기본적인 사용 방법입니다.
docker buildx inspect
현재 활성화된 Builder의 정보를 출력합니다.
특정 Builder를 확인하려면:
docker buildx inspect my-builder
해당 Builder의 상세 정보가 표시됩니다.
출력 결과 예시
Name: multi-builder
Driver:
docker-container
Nodes:
Name: multi-builder0
Endpoint: desktop-linux
Status: running
Platforms:
linux/amd64
linux/arm64
linux/arm/v7
Builder가 어떤 환경에서 실행되고 있는지 확인할 수 있습니다.
출력 결과 이해하기
Docker Buildx Inspect에서 주요 항목은 다음과 같습니다.
Name
Builder 이름입니다.
예:
Name: multi-builder
현재 확인 중인 Builder를 의미합니다.
Driver
Builder 실행 방식을 나타냅니다.
예:
Driver:
docker-container
대표적인 Driver:
- docker
- docker-container
- kubernetes
- remote
멀티 플랫폼 빌드에서는 보통 docker-container를 사용합니다.
Nodes
Builder를 구성하는 Node 정보입니다.
예:
multi-builder0
Builder가 여러 노드로 구성된 경우 각각 표시됩니다.
Status
현재 Builder 상태입니다.
예:
Status: running
정상적으로 실행 중이라는 의미입니다.
Platforms
지원하는 플랫폼 목록입니다.
예:
linux/amd64
linux/arm64
멀티 플랫폼 빌드 가능 여부를 확인할 수 있습니다.
Bootstrap 옵션 사용하기
Builder가 아직 실행되지 않았거나 BuildKit 상태를 확인하려면:
docker buildx inspect --bootstrap
사용합니다.
출력:
Status: running
BuildKit 컨테이너를 시작하고 상태를 확인합니다.
특정 Builder Bootstrap 확인하기
특정 Builder:
docker buildx inspect production-builder --bootstrap
운영용 Builder 상태를 확인할 수 있습니다.
Buildx LS와 Inspect 차이
두 명령어는 목적이 다릅니다.
Docker Buildx LS
확인:
- Builder 목록
- 현재 활성 Builder
- Driver
- 플랫폼
명령:
docker buildx ls
Docker Buildx Inspect
확인:
- 상세 설정
- Node 정보
- BuildKit 상태
- Endpoint
명령:
docker buildx inspect
목록 확인은 LS, 상세 분석은 Inspect라고 이해하면 됩니다.
Docker Buildx Inspect 실무 활용 예제
Docker Buildx Inspect는 Builder의 상세 상태를 확인하고 빌드 환경 문제를 해결할 때 사용하는 핵심 명령어입니다.
특히 멀티 플랫폼 이미지 빌드 전에는 현재 Builder가 원하는 플랫폼을 지원하는지 반드시 확인하는 것이 좋습니다.
현재 활성 Builder 상세 확인하기
기본 사용 방법입니다.
docker buildx inspect
출력 예:
Name: multi-builder
Driver:
docker-container
Nodes:
Name: multi-builder0
Status: running
Platforms:
linux/amd64
linux/arm64
현재 활성 Builder의 전체 정보를 확인할 수 있습니다.
특정 Builder 상세 확인하기
Builder 이름을 지정합니다.
docker buildx inspect production-builder
운영용 Builder 설정을 확인할 수 있습니다.
Builder 상태 확인하기
BuildKit 실행 상태를 확인합니다.
docker buildx inspect --bootstrap
출력:
Name: production-builder
Status:
running
Builder가 정상적으로 실행 중인지 확인할 수 있습니다.
지원 플랫폼 확인하기
멀티 플랫폼 빌드 전 확인합니다.
docker buildx inspect
출력:
Platforms:
linux/amd64
linux/arm64
linux/arm/v7
지원하지 않는 플랫폼으로 빌드하면 오류가 발생할 수 있으므로 사전에 확인하는 것이 좋습니다.
원격 Builder 연결 확인하기
원격 서버에서 빌드를 수행하는 경우:
docker buildx inspect remote-builder
확인 항목:
- Endpoint
- Node 상태
- Driver
- 플랫폼
원격 Build 서버 연결 문제가 발생했을 때 유용합니다.
Builder 문제 해결하기
Builder 상태가 비정상일 경우:
docker buildx inspect --bootstrap
BuildKit 컨테이너를 다시 시작하고 상태를 확인합니다.
이후:
docker buildx ls
정상 상태인지 다시 확인합니다.
Linux 서버 문제 해결
CI/CD 서버에서 멀티 플랫폼 Docker 이미지 빌드가 실패하는 문제가 발생했습니다.
관리자는 먼저 현재 Builder 목록을 확인했습니다.
docker buildx ls
결과:
NAME
production-builder *
활성 Builder는 확인했지만 상세 설정을 확인하기 위해 Inspect를 실행했습니다.
docker buildx inspect production-builder
확인 결과:
Platforms:
linux/amd64
ARM64 플랫폼이 지원되지 않는 것을 확인했습니다.
기존 Builder 대신 멀티 플랫폼 Builder를 생성했습니다.
docker buildx create \
--name multi-builder \
--driver docker-container \
--use
상태 확인:
docker buildx inspect --bootstrap
결과:
Platforms:
linux/amd64
linux/arm64
이후 멀티 플랫폼 이미지 빌드가 정상적으로 진행되었습니다.
Docker Buildx Inspect는 빌드 환경 문제를 분석할 때 가장 먼저 확인해야 하는 명령어입니다.
Docker Buildx Inspect 사용 시 주의사항
Docker Buildx Inspect를 사용할 때는 다음 사항을 확인해야 합니다.
첫 번째는 Inspect는 설정 확인 명령어이며 Builder 설정을 변경하지 않습니다.
안전하게 실행할 수 있습니다.
두 번째는 --bootstrap 옵션은 BuildKit 실행을 시작할 수 있습니다.
사용하지 않는 Builder에서도 리소스를 사용할 수 있으므로 확인 후 관리하는 것이 좋습니다.
세 번째는 지원 플랫폼을 반드시 확인해야 합니다.
멀티 플랫폼 빌드 실패 원인의 대부분은 Builder 플랫폼 지원 문제에서 발생합니다.
네 번째는 여러 Builder를 사용할 경우 이름을 명확하게 관리해야 합니다.
Best Practice
Docker Buildx Inspect를 사용할 때는 다음 방법을 추천합니다.
- 빌드 전 Builder 상태를 확인합니다.
- 멀티 플랫폼 작업 전 지원 플랫폼을 확인합니다.
- CI/CD 오류 발생 시 Inspect를 먼저 실행합니다.
--bootstrap으로 BuildKit 상태를 점검합니다.- Builder별 역할을 구분합니다.
- 정기적으로 사용하지 않는 Builder를 관리합니다.
이러한 방법을 적용하면 Docker Buildx 환경을 더욱 안정적으로 운영할 수 있습니다.
자주 묻는 질문
Docker Buildx Inspect는 무엇을 확인하나요?
Builder 이름, Driver, Node 상태, BuildKit 정보, 지원 플랫폼 등을 확인합니다.
Buildx LS와 Inspect 중 어떤 것을 먼저 사용하나요?
전체 Builder 확인은 LS, 특정 Builder 분석은 Inspect를 사용합니다.
--bootstrap은 꼭 필요한가요?
항상 필요한 것은 아니지만 Builder 상태 확인이나 초기 실행 시 유용합니다.
Inspect를 실행하면 빌드가 실행되나요?
아닙니다.
Builder 정보만 확인합니다.
마무리
Docker Buildx Inspect는 Buildx Builder의 내부 상태와 설정을 확인하는 필수 관리 명령어입니다.
Builder가 어떤 Driver를 사용하는지, 어떤 플랫폼을 지원하는지, BuildKit이 정상 동작하는지 확인할 수 있어 멀티 플랫폼 빌드와 CI/CD 환경에서 매우 중요한 역할을 합니다.
특히 빌드 오류가 발생했을 때 docker buildx ls로 Builder 목록을 확인한 후 docker buildx inspect로 상세 설정을 분석하면 문제 원인을 빠르게 찾을 수 있습니다.