Comment utiliser la commande docker buildx use pour changer d'instance de builder

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 à gérer et à basculer entre différentes instances de builder Docker en utilisant la commande docker buildx use. Nous commencerons par créer plusieurs instances de builder afin d'avoir des options pour construire des images Docker.

Après la création de ces instances, vous apprendrez à lister toutes les instances de builder disponibles pour visualiser leurs détails et leur statut. Le cœur de ce lab se concentrera ensuite sur l'utilisation de la commande docker buildx use pour basculer vers une instance de builder spécifique pour vos opérations de build. Enfin, vous explorerez comment définir un builder comme valeur par défaut pour votre contexte actuel et comment configurer un builder pour persister les changements de contexte.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/ls -.-> lab-555064{{"Comment utiliser la commande docker buildx use pour changer d'instance de builder"}} docker/create -.-> lab-555064{{"Comment utiliser la commande docker buildx use pour changer d'instance de builder"}} docker/build -.-> lab-555064{{"Comment utiliser la commande docker buildx use pour changer d'instance de builder"}} end

Créer plusieurs instances de builder

Dans cette étape, nous allons apprendre à créer plusieurs instances de builder avec Docker. Les instances de builder sont utilisées pour construire des images Docker. Par défaut, Docker utilise une seule instance de builder. Cependant, vous pouvez créer plusieurs instances de builder pour améliorer les performances de build ou utiliser différentes configurations de build.

Commençons par vérifier les instances de builder actuelles.

docker buildx ls

Vous devriez voir une instance de builder par défaut. Maintenant, créons une nouvelle instance de builder nommée mybuilder1.

docker buildx create --name mybuilder1

Cette commande crée une nouvelle instance de builder. Vous pouvez vérifier que la nouvelle instance a bien été créée en listant à nouveau les instances de builder.

docker buildx ls

Vous devriez maintenant voir à la fois le builder par défaut et mybuilder1.

Créons une autre instance de builder nommée mybuilder2.

docker buildx create --name mybuilder2

Vérifiez à nouveau la création de la nouvelle instance.

docker buildx ls

Vous devriez maintenant voir le builder par défaut, mybuilder1 et mybuilder2.

Lister les instances de builder disponibles

Dans l'étape précédente, nous avons créé plusieurs instances de builder. Dans cette étape, nous allons nous concentrer sur le listing de ces instances disponibles pour voir leur statut et leurs détails.

La commande pour lister les instances de builder est docker buildx ls. Cette commande fournit des informations sur toutes les instances de builder disponibles sur votre système.

Exécutons à nouveau la commande pour voir les instances que nous avons créées précédemment.

docker buildx ls

Le résultat affichera un tableau avec des colonnes comme NAME, DRIVER, ENDPOINT, STATUS et BUILDER.

  • NAME : Le nom de l'instance de builder
  • DRIVER : Le pilote utilisé par l'instance de builder (par ex. docker-container)
  • ENDPOINT : Le point de terminaison auquel le builder est connecté
  • STATUS : Le statut actuel de l'instance de builder (par ex. running, stopped)
  • BUILDER : Indique s'il s'agit du builder actuellement utilisé

Vous devriez voir le builder par défaut, mybuilder1 et mybuilder2 listés dans le résultat. La colonne STATUS pour les builders créés devrait afficher running s'ils ont démarré automatiquement, ou stopped dans le cas contraire.

Cette commande est utile pour vérifier quels builders sont disponibles et leur état actuel avant de basculer ou de les utiliser pour construire des images.

Basculer vers une instance de builder spécifique

Dans cette étape, nous allons apprendre comment basculer vers une instance de builder spécifique. Lorsque vous disposez de plusieurs instances de builder, vous pouvez choisir laquelle utiliser pour construire vos images Docker.

Pour basculer vers une instance de builder spécifique, utilisez la commande docker buildx use suivie du nom de l'instance de builder.

Basculons vers l'instance mybuilder1 que nous avons créée précédemment.

docker buildx use mybuilder1

Après exécution de cette commande, l'instance mybuilder1 deviendra le builder actif pour votre contexte Docker courant.

Vous pouvez vérifier quel builder est actuellement actif en listant à nouveau les instances de builder. Le builder actif sera marqué d'un astérisque (*) dans la colonne BUILDER.

docker buildx ls

Vous devriez voir un astérisque à côté de mybuilder1 dans le résultat, indiquant qu'il s'agit du builder actuellement actif.

Maintenant, basculons vers l'instance mybuilder2.

docker buildx use mybuilder2

Vérifiez que mybuilder2 est désormais le builder actif.

docker buildx ls

Vous devriez voir l'astérisque à côté de mybuilder2.

Le basculement entre différentes instances de builder vous permet d'utiliser facilement différents environnements ou configurations de build selon vos besoins.

Définir un builder par défaut pour le contexte actuel

Dans l'étape précédente, nous avons appris à basculer vers une instance de builder spécifique pour la session en cours. Dans cette étape, nous allons apprendre à définir une instance de builder comme valeur par défaut pour le contexte Docker actuel. Cela signifie que lorsque vous utiliserez des commandes Docker dans ce contexte, le builder spécifié sera automatiquement utilisé.

Pour définir un builder comme valeur par défaut pour le contexte actuel, utilisez la commande docker buildx use avec le flag --default, suivi du nom de l'instance de builder.

Définissons mybuilder1 comme builder par défaut pour le contexte actuel.

docker buildx use --default mybuilder1

Après exécution de cette commande, mybuilder1 sera le builder par défaut pour ce contexte.

Vous pouvez le vérifier en listant les instances de builder. Le builder par défaut sera marqué d'un astérisque (*) et indiqué comme default dans le résultat.

docker buildx ls

Vous devriez voir mybuilder1 marqué à la fois comme builder actif (avec *) et comme builder par défaut.

Maintenant, définissons mybuilder2 comme builder par défaut.

docker buildx use --default mybuilder2

Vérifiez que mybuilder2 est désormais le builder par défaut.

docker buildx ls

Vous devriez voir mybuilder2 marqué à la fois comme actif et comme valeur par défaut.

Définir un builder par défaut est utile lorsque vous souhaitez utiliser systématiquement un builder spécifique pour vos projets dans un contexte Docker particulier.

Configurer un builder pour conserver les changements de contexte

Dans les étapes précédentes, nous avons appris à basculer vers un builder et à définir un builder par défaut pour le contexte actuel. Cependant, ces modifications pourraient ne pas persister entre différentes sessions terminal ou redémarrages système selon votre configuration Docker. Dans cette étape, nous allons voir comment s'assurer que votre builder choisi reste le défaut même après avoir fermé et rouvert votre terminal ou redémarré le daemon Docker.

La commande docker buildx use --default définit le builder par défaut pour le contexte Docker actuel. Ce paramètre est généralement stocké dans le fichier de configuration Docker. Pour garantir que ce changement persiste, vous n'avez généralement pas besoin d'une commande supplémentaire au-delà de la définition du défaut. Le flag --default est conçu pour rendre ce changement persistant pour ce contexte spécifique.

Vérifions à nouveau que mybuilder2 est configuré comme builder par défaut.

docker buildx ls

Vous devriez toujours voir mybuilder2 marqué comme builder par défaut.

La persistance de ce paramètre repose sur la gestion de configuration de Docker. Lorsque vous utilisez docker buildx use --default, Docker met à jour sa configuration pour refléter ce choix pour le contexte actif. Cette configuration est chargée au démarrage de Docker, garantissant que votre builder préféré est utilisé par défaut.

Bien qu'il n'existe pas de commande spécifique distincte pour "persister" le changement au-delà de l'utilisation de --default, il est important de comprendre que le flag --default gère cette persistance dans le contexte Docker.

Pour véritablement tester la persistance, vous devriez généralement redémarrer le daemon Docker ou ouvrir une nouvelle session terminal et vérifier à nouveau le builder par défaut avec docker buildx ls. Dans cet environnement LabEx, le flag --default est suffisant pour démontrer le comportement attendu de définition d'un défaut persistant pour le contexte actuel.

Résumé

Dans ce lab, nous avons appris à gérer les instances de builder Docker à l'aide de la commande docker buildx. Nous avons commencé par créer plusieurs instances de builder, démontrant comment ajouter de nouveaux builders au-delà de celui par défaut. Nous avons ensuite pratiqué le listage de ces instances disponibles en utilisant docker buildx ls pour visualiser leurs noms, drivers, endpoints et statut. Cette étape est cruciale pour comprendre les environnements de build disponibles.