Introducción
En este laboratorio, aprenderás a utilizar el comando docker buildx history ls para gestionar y visualizar tus registros de construcción (build) en Docker. Comenzaremos construyendo una imagen simple de Docker usando docker buildx build, lo cual creará automáticamente un registro de construcción.
Después de construir la imagen, explorarás cómo listar todos los registros de construcción usando docker buildx history ls. A continuación, aprenderás a filtrar estos registros según su estado utilizando la opción --filter y cómo personalizar el formato de salida con la opción --format. Finalmente, descubrirás cómo listar únicamente los registros de construcción locales usando la opción --local. Este laboratorio te proporcionará habilidades prácticas para rastrear y analizar tu historial de construcciones en Docker.
Construir una imagen simple para crear un registro de construcción
En este paso, construiremos una imagen simple de Docker. Al construir una imagen con Docker Buildx se crea automáticamente un registro de construcción (build record). Un registro de construcción contiene información sobre el build, como los argumentos de construcción, el contexto de construcción y la imagen resultante.
Primero, creemos un Dockerfile simple en el directorio ~/project. Este Dockerfile creará una imagen basada en la imagen ubuntu e instalará curl.
cd ~/project
nano Dockerfile
Agrega el siguiente contenido al Dockerfile:
FROM ubuntu:latest
RUN apt-get update && apt-get install -y curl
Guarda y cierra el archivo.
Ahora, construyamos la imagen usando docker buildx build. Etiquetaremos la imagen como my-ubuntu-curl.
docker buildx build -t my-ubuntu-curl .
Este comando construirá la imagen basada en el Dockerfile del directorio actual (.) y la etiquetará como my-ubuntu-curl. Docker Buildx creará automáticamente un registro de construcción para este build.
Una vez completada la construcción, deberías ver una salida que indica el proceso de construcción y la creación exitosa de la imagen.
Listar todos los registros de construcción usando docker buildx history ls
En este paso, aprenderemos cómo listar todos los registros de construcción usando el comando docker buildx history ls. Como vimos en el paso anterior, construir una imagen con docker buildx build crea automáticamente un registro de construcción. Estos registros se almacenan y pueden consultarse para rastrear tu historial de builds.
Para listar todos los registros de construcción, simplemente ejecuta el siguiente comando:
docker buildx history ls
Este comando mostrará una tabla con información sobre cada registro de construcción. La salida típicamente incluye:
- ID del build
- Builder utilizado
- Estado del build
- Duración de la construcción
- Fecha de creación del build
Deberías ver al menos una entrada en la salida, correspondiente a la imagen que construimos en el paso anterior (my-ubuntu-curl).
El comando docker buildx history ls es útil para obtener una visión general de tu actividad de construcción e identificar builds específicos.
Filtrar registros de construcción por estado usando la opción --filter
En este paso, aprenderemos cómo filtrar registros de construcción según su estado usando la opción --filter con el comando docker buildx history ls. Esto es útil cuando deseas ver solo los builds que tienen un estado específico, como builds completados o fallidos.
La opción --filter acepta un par clave-valor en el formato clave=valor. Para filtrar por estado, usamos la clave status. Los valores posibles para el estado incluyen complete, running, failed, etc.
Dado que el build que realizamos en el primer paso fue exitoso, su estado debería ser complete. Filtremos el historial de builds para mostrar solo los builds completados:
docker buildx history ls --filter status=complete
Este comando mostrará únicamente los registros de construcción donde el estado sea complete. Deberías ver el registro de construcción para my-ubuntu-curl en la salida.
Si tuvieras algún build fallido, podrías filtrarlos usando --filter status=failed.
Formatear la salida de registros de construcción con la opción --format
En este paso, aprenderemos cómo formatear la salida del comando docker buildx history ls usando la opción --format. Esto te permite personalizar la información mostrada y el formato en que se presenta.
La opción --format acepta una cadena de plantilla Go. Puedes usar marcadores como .ID, .Builder, .Status, .Duration y .CreatedAt para incluir información específica del registro de construcción.
Probemos formatear la salida para mostrar solo el ID del build y su estado, separados por dos puntos:
docker buildx history ls --format "{{.ID}}: {{.Status}}"
Este comando mostrará cada registro de construcción en una nueva línea, mostrando el ID del build seguido de dos puntos y su estado.
Puedes crear formatos más complejos combinando diferentes marcadores y texto. Por ejemplo, para mostrar el builder y la duración:
docker buildx history ls --format "Builder: {{.Builder}}, Duration: {{.Duration}}"
Experimenta con diferentes cadenas de formato para ver cómo puedes personalizar la salida según tus necesidades.
Listar registros de construcción locales con la opción --local
En este paso, exploraremos la opción --local con docker buildx history ls. Por defecto, docker buildx history ls muestra los registros de construcción de todos los builders. La opción --local limita la salida para mostrar únicamente los registros de construcción de la instancia del builder actual.
Para listar solo los registros de construcción locales, usa el siguiente comando:
docker buildx history ls --local
En este entorno de laboratorio, dado que solo hemos usado el builder predeterminado, el resultado de docker buildx history ls y docker buildx history ls --local probablemente será el mismo. Sin embargo, en entornos con múltiples builders, esta opción es útil para enfocarse en el historial de un builder específico.
Con esto concluimos nuestra exploración sobre cómo listar y filtrar el historial de builds de Docker Buildx. Ahora sabes cómo ver tus registros de construcción, filtrarlos por estado, formatear la salida y listar registros del builder local.
Resumen
En este laboratorio, aprendimos a utilizar el comando docker buildx history ls para gestionar registros de construcción. Comenzamos construyendo una imagen Docker simple usando docker buildx build, lo cual creó automáticamente un registro de construcción. Luego utilizamos docker buildx history ls para listar todos los registros disponibles, observando la información asociada a cada construcción.
Exploramos más a fondo las capacidades de docker buildx history ls aprendiendo a filtrar registros por estado usando la opción --filter y a personalizar el formato de salida con la opción --format. Finalmente, descubrimos cómo listar únicamente registros locales mediante la opción --local, obteniendo así una visión completa sobre la gestión e inspección del historial de construcciones en Docker Buildx.



