Cómo usar el comando docker scout cache prune para gestionar la caché

DockerDockerBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este laboratorio, aprenderá cómo administrar la caché utilizada por el comando docker scout. A medida que docker scout analiza imágenes, almacena en caché datos como SBOMs (Bill of Materials de Software) e información de vulnerabilidades para mejorar el rendimiento. Con el tiempo, esta caché puede consumir una cantidad significativa de espacio en disco.

Explorará el comando docker scout cache prune y sus opciones. En concreto, aprenderá cómo eliminar los datos temporales, cómo eliminar tanto los datos temporales como los SBOMs almacenados en caché y cómo forzar el proceso de eliminación sin confirmación. Al final de este laboratorio, podrá administrar eficazmente la caché de docker scout para liberar espacio en disco y asegurarse de trabajar con datos actualizados cuando sea necesario.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/SystemManagementGroup -.-> docker/prune("Remove Unused Docker Objects") subgraph Lab Skills docker/pull -.-> lab-555199{{"Cómo usar el comando docker scout cache prune para gestionar la caché"}} docker/prune -.-> lab-555199{{"Cómo usar el comando docker scout cache prune para gestionar la caché"}} end

Comprender el propósito de docker scout cache prune

En este paso, comprenderemos el propósito del comando docker scout cache prune.

A medida que utiliza docker scout para analizar imágenes, almacena en caché datos como el Software Bill of Materials (SBOMs, Lista de Materiales de Software) e información de vulnerabilidades para acelerar los análisis posteriores. Con el tiempo, esta caché puede crecer y consumir una cantidad significativa de espacio en disco. El comando docker scout cache prune se utiliza para eliminar estos datos almacenados en caché.

Piense en ello como si estuviera limpiando la caché de su navegador web. Así como limpiar la caché de su navegador puede liberar espacio y, a veces, resolver problemas, eliminar la caché de Docker Scout puede liberar espacio en disco y asegurarse de que está trabajando con datos actualizados si es necesario.

El comando docker scout cache prune ofrece opciones para controlar qué datos se eliminan. Por defecto, elimina los datos temporales. También puede elegir eliminar los SBOMs almacenados en caché.

Exploraremos estas opciones en los siguientes pasos. Por ahora, simplemente entendamos que este comando es una herramienta de mantenimiento para administrar los datos almacenados en caché por docker scout.

Eliminar datos temporales utilizando docker scout cache prune

En este paso, eliminaremos los datos temporales utilizando el comando docker scout cache prune.

Antes de eliminar, simulemos alguna actividad de docker scout para asegurarnos de que haya datos que eliminar. Analizaremos una imagen simple.

Primero, descarguemos una imagen pequeña para trabajar.

docker pull hello-world

Debería ver una salida que indique que la imagen se ha descargado correctamente.

Ahora, ejecutemos un análisis de docker scout en esta imagen.

docker scout cves hello-world

Este comando analiza la imagen hello-world en busca de Vulnerabilidades y Exposiciones Comunes (Common Vulnerabilities and Exposures, CVEs). Aunque hello-world es una imagen muy simple y probablemente no tenga vulnerabilidades, este comando aún generará y almacenará en caché algunos datos temporales relacionados con el proceso de análisis.

Verá una salida que muestra los resultados del análisis (probablemente indicando que no se encontraron vulnerabilidades).

Ahora, eliminemos los datos de la caché temporal. Ejecute el comando docker scout cache prune sin ninguna bandera adicional.

docker scout cache prune

Cuando ejecute este comando, se le pedirá que confirme la acción. Esta es una medida de seguridad para evitar la pérdida accidental de datos.

WARNING! This will remove all temporary cache data. Are you sure you want to continue? [y/N]

Escriba y y presione Enter para confirmar.

y

Debería ver una salida que indique que se han eliminado los datos de la caché temporal y la cantidad de espacio recuperado. La salida exacta puede variar según la cantidad de datos temporales que se hayan almacenado en caché.

Este comando se dirige específicamente a los archivos temporales y los datos generados durante las operaciones de docker scout, lo que ayuda a mantener su caché limpia sin eliminar datos más persistentes como los SBOMs almacenados en caché (que cubriremos en el siguiente paso).

Eliminar datos temporales y SBOMs almacenados en caché utilizando docker scout cache prune --sboms

En este paso, eliminaremos tanto los datos temporales como los SBOMs (Software Bill of Materials, Lista de Materiales de Software) almacenados en caché utilizando el comando docker scout cache prune --sboms.

En el paso anterior, solo eliminamos los datos temporales. Los SBOMs almacenados en caché son datos más persistentes que se generan cuando docker scout analiza una imagen para crear un Software Bill of Materials. Mantener los SBOMs almacenados en caché puede acelerar los análisis futuros de la misma imagen, pero también consumen espacio en disco.

Para demostrar cómo eliminar los SBOMs, primero analicemos una imagen para generar un SBOM. Utilizaremos la imagen ubuntu para esto.

docker pull ubuntu

Este comando descarga la imagen ubuntu.

Ahora, generemos y almacenemos en caché el SBOM para la imagen ubuntu.

docker scout sbom ubuntu

Este comando genera el SBOM para la imagen ubuntu y lo almacena en caché. Verá la salida del SBOM en su terminal.

Ahora, eliminemos tanto los datos temporales como los SBOMs almacenados en caché. Utilizaremos la bandera --sboms con el comando docker scout cache prune.

docker scout cache prune --sboms

Nuevamente, se le pedirá que confirme la acción. Esta vez, la advertencia indicará que se eliminarán tanto los datos temporales como los SBOMs almacenados en caché.

WARNING! This will remove all temporary cache data and cached SBOMs. Are you sure you want to continue? [y/N]

Escriba y y presione Enter para confirmar.

y

Debería ver una salida que indique que se han eliminado los datos de la caché temporal y los SBOMs almacenados en caché, junto con la cantidad de espacio recuperado. El espacio recuperado debería ser mayor que en el paso anterior porque también se eliminaron los SBOMs almacenados en caché.

Utilizar la bandera --sboms le permite realizar una limpieza más agresiva de la caché, lo cual es útil cuando necesita liberar más espacio en disco o si sospecha que hay problemas con los datos de los SBOMs almacenados en caché.

Forzar la eliminación sin confirmación utilizando docker scout cache prune --force

En este paso, aprenderemos cómo forzar la eliminación de la caché de Docker Scout sin que se solicite confirmación, utilizando la bandera --force.

Por defecto, docker scout cache prune requiere la confirmación del usuario para evitar la eliminación accidental de datos. Sin embargo, en scripts automatizados o situaciones en las que esté seguro de que desea eliminar la caché, se puede utilizar la bandera --force para omitir el mensaje de confirmación.

Primero, generemos nuevamente algunos datos de caché. Esta vez, analizaremos la imagen alpine.

docker pull alpine

Este comando descarga la imagen alpine.

Ahora, ejecutemos un análisis de docker scout en esta imagen para generar algunos datos de caché.

docker scout cves alpine

Este comando analiza la imagen alpine en busca de CVEs (Common Vulnerabilities and Exposures, Vulnerabilidades y Exposiciones Comunes) y almacena los resultados en caché.

Ahora, eliminaremos la caché utilizando la bandera --force. También incluiremos la bandera --sboms para eliminar tanto los datos temporales como los SBOMs (Software Bill of Materials, Lista de Materiales de Software) almacenados en caché, ya que este es un caso de uso común para la eliminación forzada.

docker scout cache prune --sboms --force

Note que esta vez, no se le solicita que confirme la acción. El comando se ejecuta inmediatamente y elimina los datos de caché especificados.

Debería ver una salida que indique que se han eliminado los datos de la caché temporal y los SBOMs almacenados en caché, similar al paso anterior, pero sin el mensaje interactivo de confirmación.

El uso de --force debe hacerse con precaución, ya que omite la confirmación de seguridad. Es mejor utilizarlo en entornos no interactivos o cuando esté absolutamente seguro de la operación de eliminación.

Resumen

En este laboratorio, aprendimos el propósito del comando docker scout cache prune, que se utiliza para gestionar los datos de caché generados por los análisis de docker scout, como los SBOMs (Software Bill of Materials, Lista de Materiales de Software) y la información de vulnerabilidades. Este comando ayuda a liberar espacio en disco y asegura que se trabaje con datos actualizados cuando sea necesario.

Luego, practicamos el uso del comando para eliminar los datos temporales generados por un análisis de docker scout cves en la imagen hello-world. También exploramos la bandera --sboms para eliminar tanto los datos temporales como los SBOMs almacenados en caché, y la bandera --force para omitir el mensaje de confirmación durante la eliminación.