docker buildx du 명령으로 디스크 사용량 확인 방법

DockerBeginner
지금 연습하기

소개

이 랩에서는 docker buildx du 명령어를 효과적으로 사용하여 Docker 빌드 캐시의 디스크 사용량을 검사하고 이해하는 방법을 배우게 됩니다. 먼저 현재 빌더의 기본 디스크 사용량을 확인하고, CACHE ID, SIZE, LAST ACCESSED를 포함한 출력 열의 의미를 이해하는 것으로 시작합니다.

또한, 상세 출력을 사용하여 개별 캐시 레코드에 대한 더 자세한 정보를 얻는 방법과 특정 빌더 인스턴스의 디스크 사용량을 확인하는 방법을 탐구하여 빌드 캐시를 보다 효과적으로 관리하고 최적화하는 방법을 배우게 됩니다.

현재 빌더의 디스크 사용량 표시

이 단계에서는 현재 Docker 빌더의 디스크 사용량을 확인하는 방법을 배우게 됩니다. docker buildx du 명령은 빌드 캐시의 디스크 사용량을 표시하는 데 사용됩니다. 이는 빌드 캐시가 얼마나 많은 공간을 차지하는지 이해하고 정리해야 할 잠재적인 영역을 식별하는 데 유용합니다.

먼저, 현재 빌더에 대한 기본 디스크 사용량 정보를 확인하기 위해 옵션 없이 docker buildx du 명령을 실행해 보겠습니다.

docker buildx du

다음과 유사한 출력을 볼 수 있으며, 이는 빌드 캐시의 총 크기를 보여줍니다. 정확한 크기는 이전 빌드 활동에 따라 달라집니다.

CACHE ID                                    SIZE      LAST ACCESSED
... (출력은 다를 수 있습니다)
TOTAL: 123.4MB

출력은 ID, 크기 및 마지막 액세스 시간을 포함하는 캐시 항목 목록을 보여줍니다. 마지막 줄의 TOTAL은 현재 빌더에 대한 빌드 캐시가 사용하는 총 디스크 공간을 나타냅니다.

docker buildx du 출력 이해

이전 단계에서 docker buildx du 명령을 실행하고 캐시 항목과 총 크기를 보여주는 출력을 확인했습니다. 이 단계에서는 출력의 다양한 열을 더 자세히 이해해 보겠습니다.

출력을 다시 살펴보겠습니다.

CACHE ID                                    SIZE      LAST ACCESSED
... (출력은 다를 수 있습니다)
TOTAL: 123.4MB
  • CACHE ID: 각 캐시 항목에 대한 고유 식별자입니다. 이러한 ID 는 BuildKit 에 의해 생성되며 캐시된 빌드 프로세스의 서로 다른 레이어 또는 단계를 나타냅니다.
  • SIZE: 이 열은 특정 캐시 항목의 크기를 보여줍니다. 이는 이 특정 캐시된 레이어 또는 단계가 사용하는 디스크 공간의 양입니다.
  • LAST ACCESSED: 이 항목은 빌드 중에 이 캐시 항목이 마지막으로 사용된 시간을 나타냅니다. 이 정보는 더 이상 활발하게 사용되지 않아 공간을 확보하기 위해 정리할 수 있는 캐시 항목을 식별하는 데 도움이 됩니다.

하단의 TOTAL 줄은 나열된 모든 캐시 항목의 크기를 합산하여 현재 빌더에 대한 빌드 캐시의 전체 디스크 사용량을 제공합니다. 이러한 열을 이해하면 빌드 캐시를 분석하고 크기를 효과적으로 관리하는 데 도움이 됩니다.

상세 출력으로 디스크 사용량 기록 검사

이 단계에서는 docker buildx du 명령과 함께 상세 출력 옵션을 사용하여 빌드 캐시 항목에 대한 더 자세한 정보를 얻는 방법을 배우게 됩니다. 상세 출력은 디버깅 및 캐시된 레이어의 출처를 이해하는 데 도움이 되는 추가 세부 정보를 제공합니다.

상세 출력을 얻으려면 docker buildx du 명령과 함께 -v 또는 --verbose 플래그를 사용하십시오.

docker buildx du -v

이제 출력에는 USAGE, DESCRIPTION과 같은 더 많은 열과 캐시 항목 유형에 따라 다른 열이 포함됩니다.

CACHE ID                                    SIZE      LAST ACCESSED   USAGE     DESCRIPTION
... (출력은 다를 수 있습니다)
TOTAL: 123.4MB
  • USAGE: 이 열은 캐시 항목이 사용되거나 참조되는 방식에 대한 정보를 제공할 수 있습니다.
  • DESCRIPTION: 이 열에는 종종 이 캐시 항목을 생성한 빌드 단계 또는 명령에 대한 설명이 포함됩니다. 이는 Dockerfile 또는 빌드 프로세스의 어떤 부분이 캐시 크기에 기여하는지 식별하는 데 매우 유용합니다.

상세 출력에서 DESCRIPTION 열을 검사하여 어떤 특정 빌드 명령 (예: RUN, COPY 등) 이 각 캐시 항목에 해당하는지 확인할 수 있습니다. 이를 통해 빌드 캐시의 구조를 이해하고 캐시 크기를 줄이기 위해 Dockerfile 을 최적화할 수 있는 영역을 파악할 수 있습니다.

특정 빌더 인스턴스의 디스크 사용량 확인

이 단계에서는 특정 Docker 빌더 인스턴스의 디스크 사용량을 확인하는 방법을 배우게 됩니다. 기본적으로 docker buildx du는 현재 활성 빌더의 디스크 사용량을 표시합니다. 그러나 여러 빌더 인스턴스가 구성되어 있을 수 있으며 다른 빌더의 캐시 사용량을 검사하고 싶을 수 있습니다.

먼저, 검사하려는 빌더를 식별하기 위해 사용 가능한 빌더 인스턴스를 나열해 보겠습니다. docker buildx ls 명령을 사용하여 이 작업을 수행할 수 있습니다.

docker buildx ls

출력에는 빌더 인스턴스 목록이 표시됩니다. 관심 있는 빌더의 이름을 식별하려면 NAME 열을 확인하십시오. 현재 활성 빌더는 별표 (*) 로 표시됩니다.

NAME/NODE       DRIVER/ENDPOINT             STATUS   BUILDKIT             PLATFORMS
default *       docker                      running  v0.10.5+a34f333b1f   linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
mybuilder       docker-container            running  v0.10.5+a34f333b1f   linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

이제 특정 빌더 인스턴스의 디스크 사용량을 확인하려면 --builder 플래그를 사용하고 그 뒤에 빌더의 이름을 입력하면 됩니다. 예를 들어, mybuilder라는 빌더가 있는 경우 다음을 실행합니다.

docker buildx du --builder mybuilder

mybuilder를 검사하려는 빌더 인스턴스의 실제 이름으로 바꿉니다. 이 명령은 해당 빌더 인스턴스와 관련된 캐시에 대한 디스크 사용량을 구체적으로 표시합니다. 이는 서로 다른 빌더 구성을 사용하거나 특정 빌드 환경의 캐시 사용량을 격리하려는 경우에 유용합니다.

요약

이 랩에서는 docker buildx du 명령을 사용하여 Docker 빌드 캐시의 디스크 사용량을 확인하는 방법을 배웠습니다. 총 크기와 캐시 항목 목록을 확인하기 위해 기본 명령을 실행하는 것으로 시작했습니다.

그런 다음 개별 캐시 항목에 대한 세부 정보를 제공하는 CACHE ID, SIZE, LAST ACCESSED를 포함한 출력 열에 대한 더 깊은 이해를 얻었습니다. 또한 상세 출력 (-v) 을 사용하여 각 캐시 항목에 대한 더 자세한 기록을 확인하고, 특정 빌더 인스턴스의 이름을 지정하여 해당 인스턴스의 디스크 사용량을 확인하는 방법을 배웠습니다.