Comment utiliser la commande docker buildx history ls pour lister les enregistrements de build

DockerDockerBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce lab, vous apprendrez à utiliser la commande docker buildx history ls pour gérer et consulter vos enregistrements de build Docker. Nous commencerons par construire une image Docker simple en utilisant docker buildx build, ce qui créera automatiquement un enregistrement de build.

Après la construction de l'image, vous explorerez comment lister tous les enregistrements de build avec docker buildx history ls. Vous apprendrez ensuite à filtrer ces enregistrements selon leur statut en utilisant l'option --filter, ainsi qu'à personnaliser le format de sortie avec l'option --format. Enfin, vous découvrirez comment lister uniquement les enregistrements locaux grâce à l'option --local. Ce lab vous fournira des compétences pratiques pour suivre et analyser l'historique de vos builds Docker.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/build -.-> lab-555053{{"Comment utiliser la commande docker buildx history ls pour lister les enregistrements de build"}} end

Construire une image simple pour créer un enregistrement de build

Dans cette étape, nous allons construire une image Docker simple. La construction d'une image avec Docker Buildx crée automatiquement un enregistrement de build. Cet enregistrement contient des informations sur le build, telles que les arguments de build, le contexte de build et l'image résultante.

Commencez par créer un Dockerfile simple dans le répertoire ~/project. Ce Dockerfile créera une image basée sur l'image ubuntu et installera curl.

cd ~/project
nano Dockerfile

Ajoutez le contenu suivant au Dockerfile:

FROM ubuntu:latest
RUN apt-get update && apt-get install -y curl

Enregistrez et fermez le fichier.

Maintenant, construisons l'image en utilisant docker buildx build. Nous allons taguer l'image comme my-ubuntu-curl.

docker buildx build -t my-ubuntu-curl .

Cette commande construira l'image basée sur le Dockerfile dans le répertoire courant (.) et la taguera comme my-ubuntu-curl. Docker Buildx créera automatiquement un enregistrement de build pour cette construction.

Une fois le build terminé, vous devriez voir une sortie indiquant le processus de build et la création réussie de l'image.

Lister tous les enregistrements de build avec docker buildx history ls

Dans cette étape, nous allons apprendre à lister tous les enregistrements de build en utilisant la commande docker buildx history ls. Comme nous l'avons vu précédemment, la construction d'une image avec docker buildx build crée automatiquement un enregistrement de build. Ces enregistrements sont stockés et peuvent être consultés pour suivre votre historique de builds.

Pour lister tous les enregistrements de build, exécutez simplement la commande suivante :

docker buildx history ls

Cette commande affichera un tableau contenant des informations sur chaque enregistrement de build. Le résultat inclut généralement :

  • L'ID du build
  • Le builder utilisé
  • Le statut du build
  • La durée du build
  • La date de création du build

Vous devriez voir au moins une entrée dans le résultat, correspondant à l'image que nous avons construite à l'étape précédente (my-ubuntu-curl).

La commande docker buildx history ls est utile pour :

  • Obtenir une vue d'ensemble de votre activité de build
  • Identifier des builds spécifiques

Filtrer les enregistrements de build par statut avec l'option --filter

Dans cette étape, nous allons apprendre à filtrer les enregistrements de build selon leur statut en utilisant l'option --filter avec la commande docker buildx history ls. Cette fonctionnalité est utile lorsque vous souhaitez afficher uniquement les builds ayant un statut spécifique, comme les builds terminés ou échoués.

L'option --filter accepte une paire clé-valeur au format clé=valeur. Pour filtrer par statut, nous utilisons la clé status. Les valeurs possibles pour le statut incluent complete (terminé), running (en cours), failed (échoué), etc.

Comme le build réalisé dans la première étape a réussi, son statut devrait être complete. Filtrons l'historique des builds pour n'afficher que les builds terminés :

docker buildx history ls --filter status=complete

Cette commande affichera uniquement les enregistrements de build dont le statut est complete. Vous devriez voir l'enregistrement du build my-ubuntu-curl dans les résultats.

Si vous aviez des builds échoués, vous pourriez les filtrer avec --filter status=failed.

Formater la sortie des enregistrements de build avec l'option --format

Dans cette étape, nous allons apprendre à formater la sortie de la commande docker buildx history ls en utilisant l'option --format. Cela vous permet de personnaliser les informations affichées et leur format de présentation.

L'option --format accepte une chaîne de template Go. Vous pouvez utiliser des variables comme :

  • .ID (identifiant)
  • .Builder (builder utilisé)
  • .Status (statut)
  • .Duration (durée)
  • .CreatedAt (date de création)

pour inclure des informations spécifiques de l'enregistrement de build.

Essayons de formater la sortie pour n'afficher que l'ID du build et son statut, séparés par deux-points :

docker buildx history ls --format "{{.ID}}: {{.Status}}"

Cette commande affichera chaque enregistrement sur une nouvelle ligne, avec l'ID du build suivi de son statut.

Vous pouvez créer des formats plus complexes en combinant différentes variables et du texte. Par exemple, pour afficher le builder et la durée :

docker buildx history ls --format "Builder: {{.Builder}}, Duration: {{.Duration}}"

Expérimentez avec différentes chaînes de formatage pour adapter la sortie à vos besoins.

Lister les enregistrements de build locaux avec l'option --local

Dans cette étape, nous allons explorer l'option --local avec la commande docker buildx history ls. Par défaut, docker buildx history ls liste les enregistrements de build de tous les builders. L'option --local limite l'affichage aux enregistrements du builder actuel uniquement.

Pour lister uniquement les enregistrements de build locaux, utilisez la commande suivante :

docker buildx history ls --local

Dans cet environnement LabEx, comme nous n'avons utilisé que le builder par défaut, les résultats de docker buildx history ls et docker buildx history ls --local seront probablement identiques. Cependant, dans des environnements avec plusieurs builders, cette option est utile pour se concentrer sur l'historique d'un builder spécifique.

Ceci conclut notre exploration de la liste et du filtrage de l'historique des builds Docker Buildx. Vous savez maintenant comment :

  • Visualiser vos enregistrements de build
  • Les filtrer par statut
  • Formater leur affichage
  • Lister les enregistrements du builder local

Résumé

Dans ce lab, nous avons appris à utiliser la commande docker buildx history ls pour gérer les enregistrements de build. Nous avons commencé par construire une image Docker simple avec docker buildx build, ce qui a automatiquement créé un enregistrement de build. Nous avons ensuite utilisé docker buildx history ls pour lister tous les enregistrements disponibles, en observant les informations associées à chaque build.

Nous avons approfondi les capacités de docker buildx history ls en apprenant à :

  • Filtrer les enregistrements par statut avec l'option --filter
  • Personnaliser le format de sortie avec l'option --format
  • Lister uniquement les builds locaux avec l'option --local

Ceci nous a fourni une vue d'ensemble complète de la gestion et de l'inspection de l'historique des builds Docker Buildx.