Docker Buildx를 사용하여 이미지를 계속 빌드하다 보면 Build Cache와 빌드 관련 데이터가 점점 쌓이게 됩니다.
특히 CI/CD 환경이나 멀티 플랫폼 빌드를 사용하는 서버에서는 여러 버전의 이미지 Layer와 Cache 데이터가 저장되면서 디스크 공간을 많이 사용할 수 있습니다.
이때 현재 Buildx 환경이 얼마나 많은 디스크 공간을 사용하고 있는지 확인해야 합니다.
이럴 때 사용하는 명령어가 바로 Docker Buildx Du입니다.
Docker Buildx Du는 BuildKit이 사용하는 디스크 사용량 정보를 확인하는 명령어입니다.
어떤 Cache가 공간을 차지하고 있는지, 얼마나 많은 저장 공간을 사용하는지 확인할 수 있어 Docker 빌드 환경 관리에 매우 유용합니다.
이번 글에서는 Docker Buildx Du의 개념부터 기본 사용법, 출력 결과 분석, Cache 관리 방법, 실무 활용 방법까지 자세히 알아보겠습니다.
Docker Buildx Du란 무엇인가?
Docker Buildx Du(Disk Usage)는 BuildKit 빌드 환경의 디스크 사용량을 확인하는 명령어입니다.
일반 Docker 이미지 확인 명령어와 다르게 Buildx 내부에서 사용하는 Cache와 빌드 데이터를 확인합니다.
확인 가능한 정보:
- Build Cache 사용량
- Cache ID
- Cache 유형
- 사용 크기
- 마지막 사용 시간
Docker Buildx Du는 언제 사용하는가?
다음과 같은 상황에서 사용합니다.
- Docker 빌드 Cache 용량 확인
- 디스크 부족 문제 해결
- CI/CD 서버 관리
- 오래된 빌드 데이터 확인
- Build Cache 정리 전 분석
특히 이미지 빌드가 많아지는 환경에서는 정기적인 확인이 필요합니다.
Docker Buildx Du 기본 사용법
기본 명령어:
docker buildx du
출력 예:
ID RECLAIMABLE SIZE
abc123 true 500MB
def456 false 1.2GB
BuildKit Cache 사용량을 확인할 수 있습니다.
Docker Buildx Du 출력 결과 이해하기
주요 항목은 다음과 같습니다.
ID
Cache 데이터의 고유 식별자입니다.
예:
abc123
특정 Cache를 구분할 때 사용합니다.
RECLAIMABLE
삭제 가능한 Cache인지 표시합니다.
예:
true
사용하지 않는 Cache라 삭제 가능합니다.
SIZE
사용 중인 디스크 공간입니다.
예:
1.2GB
Cache가 차지하는 용량을 의미합니다.
Docker Buildx Du 상세 정보 확인하기
더 자세한 정보를 확인하려면:
docker buildx du --verbose
사용합니다.
확인 가능한 정보:
- Cache 생성 위치
- Cache 유형
- 참조 이미지
- 사용 상태
특정 Builder 디스크 사용량 확인하기
여러 Builder를 사용하는 경우 특정 Builder를 확인할 수 있습니다.
docker buildx du --builder production-builder
운영 Builder의 Cache 사용량만 확인할 수 있습니다.
Docker Buildx Du와 Docker System DF 차이
두 명령어는 확인 대상이 다릅니다.
Docker Buildx Du
확인:
- BuildKit Cache
- 빌드 데이터
- Builder 저장 공간
명령:
docker buildx du
Docker System DF
확인:
- 이미지
- 컨테이너
- 볼륨
- 전체 Docker 사용량
명령:
docker system df
Buildx 내부 Cache 관리는 docker buildx du를 사용합니다.
Docker Buildx Du 실무 활용 예제
디스크 부족 원인 확인
서버 디스크 사용량이 증가했습니다.
먼저 Buildx Cache를 확인합니다.
docker buildx du
결과:
SIZE
15GB
빌드 Cache가 많은 공간을 사용하고 있는 것을 확인했습니다.
CI/CD 서버 Cache 확인
자동 빌드 서버에서는 지속적으로 이미지가 생성됩니다.
확인:
docker buildx du --verbose
오래된 Cache 데이터를 확인하고 정리할 수 있습니다.
Builder별 사용량 비교
Builder가 여러 개라면:
docker buildx du --builder ci-builder
환경별 Cache 사용량을 비교할 수 있습니다.
Linux 서버 문제 해결
배포 서버에서 디스크 부족 문제가 발생했습니다.
확인:
df -h
결과:
/dev/sda1
90% used
Docker 관련 데이터를 확인했습니다.
docker buildx du
결과:
Build Cache
25GB
확인 결과 오래된 빌드 Cache가 많은 공간을 차지하고 있었습니다.
사용하지 않는 Cache를 정리했습니다.
docker buildx prune
정리 후 다시 확인:
docker buildx du
불필요한 Cache가 제거되어 디스크 공간이 확보되었습니다.
Docker Buildx Du는 디스크 부족 문제의 원인을 찾는 첫 번째 점검 도구로 활용할 수 있습니다.
Docker Buildx Du 사용 시 주의사항
첫 번째는 Du는 확인 명령어이며 데이터를 삭제하지 않습니다.
안전하게 현재 상태를 확인할 수 있습니다.
두 번째는 Cache 용량이 크다고 모두 삭제하면 안 됩니다.
자주 사용하는 Cache는 빌드 속도를 향상시키는 역할을 합니다.
세 번째는 운영 서버에서는 삭제 전에 Reclaimable 상태를 확인하는 것이 좋습니다.
네 번째는 CI/CD 환경에서는 정기적인 Cache 관리 정책이 필요합니다.
Best Practice
Docker Buildx Du를 사용할 때는 다음 방법을 추천합니다.
- 정기적으로 Cache 사용량을 확인합니다.
- 삭제 전 Reclaimable 상태를 확인합니다.
- 중요한 빌드 Cache는 유지합니다.
- CI/CD 서버는 주기적으로 점검합니다.
- 디스크 부족 전 미리 관리합니다.
- Buildx Prune과 함께 활용합니다.
자주 묻는 질문
Docker Buildx Du는 무엇을 확인하나요?
BuildKit이 사용하는 빌드 Cache와 디스크 사용량을 확인합니다.
Docker 이미지 크기도 확인할 수 있나요?
아닙니다.
이미지는 docker images 또는 docker system df로 확인합니다.
Docker Buildx Du는 데이터를 삭제하나요?
아닙니다.
사용량 확인만 수행합니다.
Cache를 삭제하면 빌드가 느려지나요?
일부 Cache가 삭제되면 다음 빌드 시간이 증가할 수 있습니다.
마무리
Docker Buildx Du는 BuildKit 빌드 Cache와 디스크 사용량을 확인하는 중요한 관리 명령어입니다.
Docker 이미지를 많이 빌드하는 환경에서는 Cache 데이터가 빠르게 증가할 수 있기 때문에 정기적인 확인이 필요합니다.
특히 CI/CD 서버나 멀티 플랫폼 빌드 환경에서는 docker buildx du를 활용해 디스크 사용량을 관리하고, 필요할 때 docker buildx prune으로 불필요한 Cache를 정리하는 것이 효율적인 운영 방법입니다.