Compartir comentarios
Las respuestas se generan en base a la documentación.

docker scout compare

DescripciónCompara dos imágenes y muestra las diferencias (experimental)
Usodocker scout compare --to IMAGE|DIRECTORY|ARCHIVE [IMAGE|DIRECTORY|ARCHIVE]
Alias
docker scout diff

</span>
<strong>Experimental</strong>

Este comando es experimental.

Las funciones experimentales están destinadas a pruebas y comentarios, ya que su funcionalidad o diseño pueden cambiar entre versiones sin previo aviso o eliminarse por completo en una versión futura.

Descripción

El comando docker scout compare analiza dos imágenes y muestra una comparación.

Este comando es experimental y su comportamiento podría cambiar en el futuro.

El uso previsto de este comando es comparar dos versiones de la misma imagen. Por ejemplo, cuando se construye una nueva imagen y se compara con la versión que se está ejecutando en producción.

Si no se especifica ninguna imagen, se utiliza la imagen construida más recientemente como objetivo de comparación.

Se admiten los siguientes tipos de artefactos:

  • Imágenes
  • Directorios de diseño OCI (OCI layout)
  • Archivos tarball, creados por docker save
  • Directorio o archivo local

Por defecto, la herramienta espera una referencia de imagen, como:

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

Si el artefacto que deseas analizar es un directorio OCI, un archivo tarball, un archivo o directorio local, o si deseas controlar desde dónde se resolverá la imagen, debes anteponer a la referencia uno de los siguientes prefijos:

  • image:// (por defecto) utiliza una imagen local, o recurre a una búsqueda en el registro
  • local:// utiliza una imagen del almacenamiento local de imágenes (no realiza una búsqueda en el registro)
  • registry:// utiliza una imagen de un registro (no utiliza una imagen local)
  • oci-dir:// utiliza un directorio de diseño OCI (OCI layout)
  • archive:// utiliza un archivo tarball, creado por docker save
  • fs:// utiliza un directorio o archivo local
  • sbom:// archivo SPDX, archivo de atestación in-toto con predicado SPDX o archivo SBOM json de syft

Opciones

OpciónPredeterminadoDescripción
-x, --exit-onLista de condiciones separadas por comas para fallar el paso de la acción si empeoran o cambian; las opciones son: vulnerability, policy, package
--formattextFormato de salida del informe de vulnerabilidades generado:
- text: salida por defecto, texto plano con o sin colores según la terminal
- markdown: salida en formato Markdown
--hide-policiesOculta el estado de las políticas en la salida
--ignore-baseFiltra las CVE introducidas desde la imagen base
--ignore-suppressedFiltra las CVE encontradas en las excepciones de Scout según el ámbito de excepción especificado
--ignore-unchangedFiltra los paquetes que no han cambiado
--multi-stageMuestra paquetes de construcciones Docker multietapa (multi-stage)
--only-fixedFiltra para mostrar solo las CVE solucionables
--only-package-typeLista de tipos de paquetes separada por comas (como apk, deb, rpm, npm, pypi, golang, etc.)
--only-policyLista de políticas a evaluar separada por comas
--only-severityLista de gravedades separada por comas (critical, high, medium, low, unspecified) para filtrar las CVE
--only-stageLista de nombres de etapas de construcción Docker multietapa separada por comas
--only-unfixedFiltra para mostrar solo las CVE no solucionadas
--only-vex-affectedFiltra las CVE mediante declaraciones VEX con estado "not affected"
--orgEspacio de nombres (namespace) de la organización de Docker
-o, --outputEscribe el informe en un archivo
--platformPlataforma de la imagen a analizar
--refReferencia a utilizar si el archivo tarball proporcionado contiene múltiples referencias.
Solo se puede usar con archivos.
--toImagen, directorio o archivo con el que comparar
--to-envNombre del entorno con el que comparar
--to-latestÚltima imagen procesada con la que comparar
--to-refReferencia a utilizar si el archivo tarball proporcionado contiene múltiples referencias.
Solo se puede usar con archivos.
--vex-author[<.*@docker.com>]Lista de autores de declaraciones VEX a aceptar
--vex-locationRuta del archivo o directorio que contiene declaraciones VEX

Ejemplos

Compara la imagen construida más recientemente con la última etiqueta (latest)

$ docker scout compare --to namespace/repo:latest

Compara la construcción local con la misma etiqueta del registro

$ docker scout compare local://namespace/repo:latest --to registry://namespace/repo:latest

Ignora las imágenes base

$ docker scout compare --ignore-base --to namespace/repo:latest namespace/repo:v1.2.3-pre

Genera una salida en formato Markdown

$ docker scout compare --format markdown --to namespace/repo:latest namespace/repo:v1.2.3-pre

Solo compara paquetes maven y solo muestra vulnerabilidades críticas para paquetes maven

$ docker scout compare --only-package-type maven --only-severity critical --to namespace/repo:latest namespace/repo:v1.2.3-pre

Muestra todos los resultados de políticas para ambas imágenes

docker scout compare --to namespace/repo:latest namespace/repo:v1.2.3-pre