Wie man den docker buildx use Befehl zum Wechseln von Builder-Instanzen verwendet

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

In diesem Lab lernen Sie, wie Sie mit dem Befehl docker buildx use zwischen verschiedenen Docker-Builder-Instanzen wechseln und diese verwalten. Wir beginnen damit, mehrere Builder-Instanzen zu erstellen, um Optionen für den Bau von Docker-Images zu haben.

Nach der Erstellung dieser Instanzen lernen Sie, wie Sie alle verfügbaren Builder-Instanzen auflisten können, um deren Details und Status einzusehen. Der Kern dieses Labs konzentriert sich dann auf die Verwendung des Befehls docker buildx use, um zu einer bestimmten Builder-Instanz für Ihre Build-Operationen zu wechseln. Abschließend erfahren Sie, wie Sie einen Builder als Standard für Ihren aktuellen Kontext festlegen und wie Sie einen Builder so konfigurieren, dass Kontextänderungen persistent gespeichert werden.


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{{"Wie man den docker buildx use Befehl zum Wechseln von Builder-Instanzen verwendet"}} docker/create -.-> lab-555064{{"Wie man den docker buildx use Befehl zum Wechseln von Builder-Instanzen verwendet"}} docker/build -.-> lab-555064{{"Wie man den docker buildx use Befehl zum Wechseln von Builder-Instanzen verwendet"}} end

Mehrere Builder-Instanzen erstellen

In diesem Schritt lernen Sie, wie Sie mit Docker mehrere Builder-Instanzen erstellen können. Builder-Instanzen werden zum Erstellen von Docker-Images verwendet. Standardmäßig verwendet Docker eine einzelne Builder-Instanz. Sie können jedoch mehrere Builder-Instanzen erstellen, um die Build-Leistung zu verbessern oder unterschiedliche Build-Konfigurationen zu nutzen.

Zuerst überprüfen wir die vorhandenen Builder-Instanzen.

docker buildx ls

Sie sollten eine standardmäßige Builder-Instanz sehen. Nun erstellen wir eine neue Builder-Instanz mit dem Namen mybuilder1.

docker buildx create --name mybuilder1

Dieser Befehl erstellt eine neue Builder-Instanz. Sie können überprüfen, ob die neue Instanz erstellt wurde, indem Sie die Builder-Instanzen erneut auflisten.

docker buildx ls

Jetzt sollten Sie sowohl den Standard-Builder als auch mybuilder1 sehen.

Erstellen wir eine weitere Builder-Instanz mit dem Namen mybuilder2.

docker buildx create --name mybuilder2

Überprüfen Sie erneut die Erstellung der neuen Instanz.

docker buildx ls

Jetzt sollten Sie den Standard-Builder, mybuilder1 und mybuilder2 sehen.

Verfügbare Builder-Instanzen auflisten

Im vorherigen Schritt haben wir mehrere Builder-Instanzen erstellt. In diesem Schritt konzentrieren wir uns darauf, diese verfügbaren Builder-Instanzen aufzulisten, um deren Status und Details einzusehen.

Der Befehl zum Auflisten der Builder-Instanzen lautet docker buildx ls. Dieser Befehl liefert Informationen über alle auf Ihrem System verfügbaren Builder-Instanzen.

Führen wir den Befehl erneut aus, um die im vorherigen Schritt erstellten Builder-Instanzen anzuzeigen.

docker buildx ls

Die Ausgabe zeigt eine Tabelle mit Spalten wie NAME, DRIVER, ENDPOINT, STATUS und BUILDER.

  • NAME: Der Name der Builder-Instanz
  • DRIVER: Der von der Builder-Instanz verwendete Treiber (z.B. docker-container)
  • ENDPOINT: Der Endpunkt, mit dem der Builder verbunden ist
  • STATUS: Der aktuelle Status der Builder-Instanz (z.B. running, stopped)
  • BUILDER: Gibt an, ob dies der aktuell verwendete Builder ist

In der Ausgabe sollten Sie den Standard-Builder sowie mybuilder1 und mybuilder2 sehen. Die STATUS-Spalte für die erstellten Builder sollte running anzeigen, wenn sie automatisch gestartet wurden, oder stopped, falls nicht.

Dieser Befehl ist nützlich, um zu überprüfen, welche Builder verfügbar sind und welchen Status sie haben, bevor Sie zwischen ihnen wechseln oder sie zum Erstellen von Images verwenden.

Zu einer bestimmten Builder-Instanz wechseln

In diesem Schritt lernen Sie, wie Sie zu einer bestimmten Builder-Instanz wechseln. Wenn Sie mehrere Builder-Instanzen haben, können Sie auswählen, welche für den Build Ihrer Docker-Images verwendet werden soll.

Um zu einer bestimmten Builder-Instanz zu wechseln, verwenden Sie den Befehl docker buildx use gefolgt vom Namen der Builder-Instanz.

Wechseln wir zur Instanz mybuilder1, die wir in den vorherigen Schritten erstellt haben.

docker buildx use mybuilder1

Nach Ausführung dieses Befehls wird die mybuilder1-Instanz der aktive Builder für Ihren aktuellen Docker-Kontext sein.

Sie können überprüfen, welcher Builder aktuell aktiv ist, indem Sie die Builder-Instanzen erneut auflisten. Der aktive Builder wird in der Spalte BUILDER mit einem Sternchen (*) markiert.

docker buildx ls

In der Ausgabe sollten Sie ein Sternchen neben mybuilder1 sehen, was anzeigt, dass dies der aktuell aktive Builder ist.

Wechseln wir nun zur Instanz mybuilder2.

docker buildx use mybuilder2

Überprüfen Sie, dass mybuilder2 nun der aktive Builder ist.

docker buildx ls

Sie sollten das Sternchen neben mybuilder2 sehen.

Durch das Wechseln zwischen Builder-Instanzen können Sie je nach Bedarf einfach unterschiedliche Build-Umgebungen oder Konfigurationen nutzen.

Builder als Standard für den aktuellen Kontext festlegen

Im vorherigen Schritt haben wir gelernt, wie man für die aktuelle Sitzung zu einer bestimmten Builder-Instanz wechselt. In diesem Schritt lernen wir, wie man eine Builder-Instanz als Standard für den aktuellen Docker-Kontext festlegt. Dies bedeutet, dass bei Verwendung von Docker-Befehlen innerhalb dieses Kontexts automatisch der angegebene Builder verwendet wird.

Um einen Builder als Standard für den aktuellen Kontext festzulegen, verwenden Sie den Befehl docker buildx use mit dem Flag --default, gefolgt vom Namen der Builder-Instanz.

Legen wir mybuilder1 als Standard-Builder für den aktuellen Kontext fest.

docker buildx use --default mybuilder1

Nach Ausführung dieses Befehls wird mybuilder1 der Standard-Builder für diesen Kontext sein.

Sie können dies überprüfen, indem Sie die Builder-Instanzen auflisten. Der Standard-Builder wird mit einem Sternchen (*) markiert und in der Ausgabe zusätzlich als default gekennzeichnet.

docker buildx ls

Sie sollten sehen, dass mybuilder1 sowohl als aktiver Builder (mit *) als auch als Standard-Builder markiert ist.

Legen wir nun mybuilder2 als Standard-Builder fest.

docker buildx use --default mybuilder2

Überprüfen Sie, dass mybuilder2 nun der Standard-Builder ist.

docker buildx ls

Sie sollten sehen, dass mybuilder2 sowohl als aktiv als auch als Standard markiert ist.

Die Festlegung eines Standard-Builders ist nützlich, wenn Sie für Ihre Projekte innerhalb eines bestimmten Docker-Kontexts konsequent einen bestimmten Builder verwenden möchten.

Builder für persistente Kontextänderungen einrichten

In den vorherigen Schritten haben wir gelernt, wie man zu einem Builder wechselt und einen Standard-Builder für den aktuellen Kontext festlegt. Diese Änderungen bleiben jedoch möglicherweise nicht über verschiedene Terminal-Sitzungen oder Systemneustarts hinweg erhalten, abhängig von Ihrer Docker-Konfiguration. In diesem Schritt untersuchen wir, wie Sie sicherstellen können, dass Ihr gewählter Builder auch nach dem Schließen und erneuten Öffnen des Terminals oder einem Neustart des Docker-Daemons der Standard bleibt.

Der Befehl docker buildx use --default legt den Standard-Builder für den aktuellen Docker-Kontext fest. Diese Einstellung wird normalerweise in der Docker-Konfigurationsdatei gespeichert. Um sicherzustellen, dass diese Änderung bestehen bleibt, benötigen Sie in der Regel keinen zusätzlichen Befehl über das Setzen des Standards hinaus. Das Flag --default ist dafür ausgelegt, die Änderung für diesen spezifischen Kontext persistent zu machen.

Lassen Sie uns bestätigen, dass mybuilder2 als Standard-Builder eingestellt ist.

docker buildx ls

Sie sollten weiterhin sehen, dass mybuilder2 als Standard-Builder markiert ist.

Die Persistenz dieser Einstellung hängt von Docks Konfigurationsmanagement ab. Wenn Sie docker buildx use --default verwenden, aktualisiert Docker seine Konfiguration, um diese Wahl für den aktiven Kontext zu übernehmen. Diese Konfiguration wird beim Start von Docker geladen, wodurch sichergestellt wird, dass Ihr bevorzugter Builder standardmäßig verwendet wird.

Obwohl es keinen separaten Befehl speziell für das "Persistieren" der Änderung über die Verwendung von --default hinaus gibt, ist es wichtig zu verstehen, dass das --default-Flag diese Persistenz innerhalb des Docker-Kontexts handhabt.

Um die Persistenz wirklich zu testen, würden Sie normalerweise den Docker-Daemon neu starten oder eine neue Terminal-Sitzung öffnen und den Standard-Builder erneut mit docker buildx ls überprüfen. In dieser LabEx-Umgebung ist das --default-Flag ausreichend, um das beabsichtigte Verhalten der Einstellung eines persistenten Standards für den aktuellen Kontext zu demonstrieren.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man Docker-Builder-Instanzen mit dem Befehl docker buildx verwaltet. Wir begannen mit der Erstellung mehrerer Builder-Instanzen und zeigten, wie zusätzliche Builder neben dem Standard-Builder hinzugefügt werden können. Anschließend haben wir geübt, diese verfügbaren Builder-Instanzen mit docker buildx ls aufzulisten, um deren Namen, Treiber, Endpunkte und Status einzusehen. Dieser Schritt ist entscheidend, um die verfügbaren Build-Umgebungen zu verstehen.