docker scout compare
| Descripción | Compara dos imágenes y muestra las diferencias (experimental) |
|---|---|
| Uso | docker 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:
rediscurlimages/curl:7.87.0mcr.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 registrolocal://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 pordocker savefs://utiliza un directorio o archivo localsbom://archivo SPDX, archivo de atestación in-toto con predicado SPDX o archivo SBOM json desyft
Opciones
| Opción | Predeterminado | Descripción |
|---|---|---|
-x, --exit-on | Lista de condiciones separadas por comas para fallar el paso de la acción si empeoran o cambian; las opciones son: vulnerability, policy, package | |
--format | text | Formato 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-policies | Oculta el estado de las políticas en la salida | |
--ignore-base | Filtra las CVE introducidas desde la imagen base | |
--ignore-suppressed | Filtra las CVE encontradas en las excepciones de Scout según el ámbito de excepción especificado | |
--ignore-unchanged | Filtra los paquetes que no han cambiado | |
--multi-stage | Muestra paquetes de construcciones Docker multietapa (multi-stage) | |
--only-fixed | Filtra para mostrar solo las CVE solucionables | |
--only-package-type | Lista de tipos de paquetes separada por comas (como apk, deb, rpm, npm, pypi, golang, etc.) | |
--only-policy | Lista de políticas a evaluar separada por comas | |
--only-severity | Lista de gravedades separada por comas (critical, high, medium, low, unspecified) para filtrar las CVE | |
--only-stage | Lista de nombres de etapas de construcción Docker multietapa separada por comas | |
--only-unfixed | Filtra para mostrar solo las CVE no solucionadas | |
--only-vex-affected | Filtra las CVE mediante declaraciones VEX con estado "not affected" | |
--org | Espacio de nombres (namespace) de la organización de Docker | |
-o, --output | Escribe el informe en un archivo | |
--platform | Plataforma de la imagen a analizar | |
--ref | Referencia a utilizar si el archivo tarball proporcionado contiene múltiples referencias. Solo se puede usar con archivos. | |
--to | Imagen, directorio o archivo con el que comparar | |
--to-env | Nombre del entorno con el que comparar | |
--to-latest | Última imagen procesada con la que comparar | |
--to-ref | Referencia 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-location | Ruta 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