소개
이 랩에서는 docker scout 명령어가 사용하는 캐시를 관리하는 방법을 배우게 됩니다. docker scout는 이미지를 분석할 때 성능 향상을 위해 SBOM (Software Bill of Materials) 및 취약성 정보와 같은 데이터를 캐싱합니다. 시간이 지남에 따라 이 캐시는 상당한 디스크 공간을 소비할 수 있습니다.
docker scout cache prune 명령어와 해당 옵션을 살펴볼 것입니다. 특히, 임시 데이터를 정리하는 방법, 임시 데이터와 캐시된 SBOM 을 모두 정리하는 방법, 그리고 확인 없이 강제로 정리 프로세스를 실행하는 방법을 배우게 됩니다. 이 랩을 마치면 docker scout 캐시를 효과적으로 관리하여 디스크 공간을 확보하고 필요할 때 최신 데이터를 사용할 수 있게 됩니다.
docker scout cache prune 의 목적 이해
이 단계에서는 docker scout cache prune 명령의 목적을 이해해 보겠습니다.
docker scout를 사용하여 이미지를 분석하면, 후속 분석 속도를 높이기 위해 SBOM (Software Bill of Materials, 소프트웨어 자재 명세서) 및 취약성 정보와 같은 데이터를 캐싱합니다. 시간이 지남에 따라 이 캐시는 커져서 상당한 디스크 공간을 소비할 수 있습니다. docker scout cache prune 명령은 이 캐시된 데이터를 제거하는 데 사용됩니다.
웹 브라우저의 캐시를 지우는 것과 비슷하다고 생각하면 됩니다. 브라우저 캐시를 지우면 공간을 확보하고 때로는 문제를 해결할 수 있는 것처럼, Docker Scout 캐시를 정리하면 디스크 공간을 확보하고 필요한 경우 최신 데이터를 사용할 수 있습니다.
docker scout cache prune 명령은 어떤 데이터를 제거할지 제어하는 옵션을 제공합니다. 기본적으로 임시 데이터를 제거합니다. 캐시된 SBOM 을 제거하도록 선택할 수도 있습니다.
다음 단계에서 이러한 옵션을 살펴보겠습니다. 지금은 이 명령이 docker scout에 의해 캐시된 데이터를 관리하기 위한 유지 관리 도구라는 것만 이해해 두십시오.
docker scout cache prune 을 사용하여 임시 데이터 정리
이 단계에서는 docker scout cache prune 명령을 사용하여 임시 데이터를 정리합니다.
정리하기 전에, 정리할 데이터가 있는지 확인하기 위해 docker scout 활동을 시뮬레이션해 보겠습니다. 간단한 이미지를 분석할 것입니다.
먼저, 작업할 작은 이미지를 가져옵니다.
docker pull hello-world
이미지가 성공적으로 가져와졌음을 나타내는 출력을 볼 수 있습니다.
이제 이 이미지에 대해 docker scout 분석을 실행해 보겠습니다.
docker scout cves hello-world
이 명령은 hello-world 이미지에 대한 CVE (Common Vulnerabilities and Exposures, 공통 취약점 및 노출) 를 분석합니다. hello-world는 매우 간단한 이미지이고 취약점이 없을 가능성이 높지만, 이 명령은 여전히 분석 프로세스와 관련된 일부 임시 데이터를 생성하고 캐싱합니다.
분석 결과 (아마도 취약점이 발견되지 않았음을 나타냄) 를 보여주는 출력을 보게 됩니다.
이제 임시 캐시 데이터를 정리해 보겠습니다. 추가 플래그 없이 docker scout cache prune 명령을 실행합니다.
docker scout cache prune
이 명령을 실행하면 작업을 확인하라는 메시지가 표시됩니다. 이는 실수로 인한 데이터 손실을 방지하기 위한 안전 조치입니다.
WARNING! This will remove all temporary cache data. Are you sure you want to continue? [y/N]
y를 입력하고 Enter 키를 눌러 확인합니다.
y
임시 캐시 데이터가 정리되었고 확보된 공간의 양을 나타내는 출력을 볼 수 있습니다. 정확한 출력은 캐시된 임시 데이터의 양에 따라 다를 수 있습니다.
이 명령은 특히 docker scout 작업 중에 생성된 임시 파일 및 데이터를 대상으로 하며, 캐시된 SBOM (다음 단계에서 다룰 예정) 과 같은 더 영구적인 데이터를 제거하지 않고 캐시를 깨끗하게 유지하는 데 도움이 됩니다.
docker scout cache prune --sboms 를 사용하여 임시 데이터 및 캐시된 SBOM 정리
이 단계에서는 docker scout cache prune --sboms 명령을 사용하여 임시 데이터와 캐시된 SBOM 을 모두 정리합니다.
이전 단계에서는 임시 데이터만 정리했습니다. 캐시된 SBOM 은 docker scout가 이미지를 분석하여 SBOM (Software Bill of Materials, 소프트웨어 자재 명세서) 을 생성할 때 생성되는 더 영구적인 데이터입니다. 캐시된 SBOM 을 유지하면 동일한 이미지에 대한 향후 분석 속도를 높일 수 있지만, 디스크 공간도 소비합니다.
SBOM 정리를 시연하기 위해 먼저 이미지를 분석하여 SBOM 을 생성해 보겠습니다. 이를 위해 ubuntu 이미지를 사용합니다.
docker pull ubuntu
이 명령은 ubuntu 이미지를 가져옵니다.
이제 ubuntu 이미지에 대한 SBOM 을 생성하고 캐시해 보겠습니다.
docker scout sbom ubuntu
이 명령은 ubuntu 이미지에 대한 SBOM 을 생성하고 캐시합니다. 터미널에서 SBOM 출력을 볼 수 있습니다.
이제 임시 데이터와 캐시된 SBOM 을 모두 정리해 보겠습니다. docker scout cache prune 명령과 함께 --sboms 플래그를 사용합니다.
docker scout cache prune --sboms
다시 한 번, 작업을 확인하라는 메시지가 표시됩니다. 이번에는 경고에서 임시 데이터와 캐시된 SBOM 이 모두 제거될 것임을 나타냅니다.
WARNING! This will remove all temporary cache data and cached SBOMs. Are you sure you want to continue? [y/N]
y를 입력하고 Enter 키를 눌러 확인합니다.
y
임시 캐시 데이터와 캐시된 SBOM 이 정리되었으며 확보된 공간의 양을 나타내는 출력을 볼 수 있습니다. 캐시된 SBOM 도 제거되었으므로 확보된 공간은 이전 단계보다 더 커야 합니다.
--sboms 플래그를 사용하면 더 적극적인 캐시 정리가 가능하며, 더 많은 디스크 공간을 확보해야 하거나 캐시된 SBOM 데이터에 문제가 있다고 의심되는 경우 유용합니다.
docker scout cache prune --force 를 사용하여 확인 없이 강제 정리
이 단계에서는 --force 플래그를 사용하여 확인 메시지 없이 Docker Scout 캐시를 강제로 정리하는 방법을 배웁니다.
기본적으로 docker scout cache prune은 실수로 인한 데이터 삭제를 방지하기 위해 사용자 확인을 요구합니다. 그러나 자동화된 스크립트 또는 캐시를 정리하려는 의도가 확실한 상황에서는 --force 플래그를 사용하여 확인 프롬프트를 건너뛸 수 있습니다.
먼저 다시 캐시 데이터를 생성해 보겠습니다. 이번에는 alpine 이미지를 분석합니다.
docker pull alpine
이 명령은 alpine 이미지를 가져옵니다.
이제 이 이미지에 대해 docker scout 분석을 실행하여 일부 캐시 데이터를 생성해 보겠습니다.
docker scout cves alpine
이것은 alpine 이미지에 대한 CVE 를 분석하고 결과를 캐시합니다.
이제 --force 플래그를 사용하여 캐시를 정리합니다. 또한 강제 정리의 일반적인 사용 사례이므로 임시 데이터와 캐시된 SBOM 을 모두 정리하기 위해 --sboms 플래그도 포함합니다.
docker scout cache prune --sboms --force
이번에는 작업 확인을 묻는 메시지가 표시되지 않습니다. 명령이 즉시 실행되고 지정된 캐시 데이터를 정리합니다.
이전 단계와 유사하게 임시 캐시 데이터와 캐시된 SBOM 이 정리되었음을 나타내는 출력을 볼 수 있지만, 대화형 프롬프트는 없습니다.
--force는 안전 확인을 우회하므로 주의해서 사용해야 합니다. 비대화형 환경이나 정리 작업에 대해 절대적으로 확신하는 경우에 가장 적합합니다.
요약
이 랩에서는 docker scout cache prune 명령의 목적을 배웠습니다. 이 명령은 SBOM 및 취약성 정보와 같은 docker scout 분석으로 생성된 캐시 데이터를 관리하는 데 사용됩니다. 이 명령은 디스크 공간을 확보하고 필요할 때 최신 데이터를 사용하도록 보장합니다.
그런 다음 hello-world 이미지에 대한 docker scout cves 분석으로 생성된 임시 데이터를 정리하기 위해 이 명령을 사용하는 연습을 했습니다. 또한 임시 데이터와 캐시된 SBOM 을 모두 정리하는 --sboms 플래그와 정리 중에 확인 프롬프트를 우회하는 --force 플래그도 살펴보았습니다.



