docker scout quickview

docker scout quickview

docker scout quickview는 이미지의 빠른 개요를 보여 주는 명령이에요. 이미지와 기본 이미지의 취약점 요약을 한눈에 확인하고 싶을 때 써요.

출처: 문서

본문

docker scout quickview 명령은 이미지의 빠른 개요를 표시해요. 지정한 이미지의 취약점 요약과 기본 이미지에서 온 취약점을 보여 줘요. 가능하면 기본 이미지 갱신·업데이트 권장 사항도 표시해요. 이미지를 지정하지 않으면 가장 최근에 빌드된 이미지를 사용해요.

지원되는 아티팩트 유형은 다음과 같아요:

  • 이미지 (Images)
  • OCI 레이아웃 디렉터리 (OCI layout directories)
  • docker save로 만든 tarball 아카이브 (Tarball archives)
  • 로컬 디렉터리 또는 파일 (Local directory or file)

기본적으로 도구는 이미지 레퍼런스(참조)를 기대해요. 예를 들면:

  • redis
  • curlimages/curl:7.87.0
  • mcr.microsoft.com/dotnet/runtime:7.0

분석하려는 아티팩트가 OCI 디렉터리·tarball 아카이브·로컬 파일이나 디렉터리이거나, 이미지가 어디서 해석될지(레지스트리 조회 여부) 제어하고 싶다면 레퍼런스 앞에 다음 접두사 중 하나를 붙여야 해요:

  • image:// (기본값) 로컬 이미지를 사용하거나, 없다면 레지스트리 조회로 폴백해요
  • local:// 로컬 이미지 스토어의 이미지를 사용해요 (레지스트리 조회 안 함)
  • registry:// 레지스트리의 이미지를 사용해요 (로컬 이미지 사용 안 함)
  • oci-dir:// OCI 레이아웃 디렉터리를 사용해요
  • archive:// docker save로 만든 tarball 아카이브를 사용해요
  • fs:// 로컬 디렉터리 또는 파일을 사용해요
  • sbom:// SPDX predicate가 있는 SPDX 파일 또는 in-toto attestation 파일, syft json SBOM 파일을 사용해요

sbom:// 접두사에서는 파일이 정의되어 있지 않으면 표준 입력(stdin)에서 읽으려고 해요.

사용법 (Usage)

docker scout quickview [IMAGE|DIRECTORY|ARCHIVE]

별칭 (Aliases)

별칭은 긴 명령 대신 쓸 수 있는 짧고 기억하기 쉬운 대안이에요.

docker scout qv

옵션 (Options)

옵션 기본값 설명
--env 환경의 이름이에요
--ignore-suppressed 지정된 예외 범위를 기준으로 Scout 예외에 있는 CVE를 걸러 내요
--latest 가장 최근에 인덱싱된 이미지예요
--only-policy 평가할 정책의 쉼표 구분 목록이에요
--only-vex-affected 상태가 not affected가 아닌 VEX 문으로 CVE를 필터링해요
--org Docker 조직의 namespace예요
-o, --output 보고서를 파일로 써요
--platform 분석할 이미지의 플랫폼이에요
--policy-bundle 평가할 정책 번들의 OCI 참조예요 (반복 가능)
--policy-config 정책 활성화와 입력을 구성하는 JSON 파일의 경로 또는 http(s) URL이에요
--policy-dir 로컬 .rego 정책 파일 디렉터리의 경로예요 (반복 가능)
--policy-file .rego 정책 파일의 경로 또는 http(s) URL이에요 (반복 가능)
--ref 제공된 tarball이 여러 참조를 포함하면 사용할 참조예요. archive에서만 사용할 수 있어요
--vex-author [] 수락할 VEX 문 작성자 목록이에요
--vex-location VEX 문이 들어 있는 디렉터리 또는 파일의 위치예요

예제 (Examples)

이미지의 빠른 개요

$ docker scout quickview golang:1.19.4
    ...Pulling
    ✓ Pulled
    ✓ SBOM of image already cached, 278 packages indexed

  Your image  golang:1.19.4                          │    5C     3H     6M    63L
  Base image  buildpack-deps:bullseye-scm            │    5C     1H     3M    48L     6?
  Refreshed base image  buildpack-deps:bullseye-scm  │    0C     0H     0M    42L
                                                     │    -5     -1     -3     -6     -6
  Updated base image  buildpack-deps:sid-scm         │    0C     0H     1M    29L
                                                     │    -5     -1     -2    -19     -6

가장 최근에 빌드된 이미지의 빠른 개요

$ docker scout qv

SPDX 파일에서 빠른 개요 보기

$  syft -o spdx-json alpine:3.16.1 | docker scout quickview sbom://
 ✔ Loaded image                                                                                                                              alpine:3.16.1
 ✔ Parsed image                                                                    sha256:3d81c46cd8756ddb6db9ec36fa06a6fb71c287fb265232ba516739dc67a5f07d
 ✔ Cataloged contents                                                                     274a317d88b54f9e67799244a1250cad3fe7080f45249fa9167d1f871218d35f
   ├── ✔ Packages                        [14 packages]
   ├── ✔ File digests                    [75 files]
   ├── ✔ File metadata                   [75 locations]
   └── ✔ Executables                     [16 executables]

  Target   │ <stdin>        │    1C     2H     8M     0L
    digest │  274a317d88b5  │

더 알아보기 (Learn more)