Verwendung des Befehls docker buildx history ls zum Auflisten von Build-Records

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 den Befehl docker buildx history ls verwenden, um Ihre Docker-Build-Aufzeichnungen zu verwalten und anzuzeigen. Wir beginnen mit dem Erstellen eines einfachen Docker-Images mithilfe von docker buildx build, wodurch automatisch eine Build-Aufzeichnung erstellt wird.

Nach dem Image-Build untersuchen Sie, wie Sie alle Build-Aufzeichnungen mit docker buildx history ls auflisten können. Anschließend lernen Sie, wie Sie diese Aufzeichnungen anhand ihres Status mit der Option --filter filtern und wie Sie das Ausgabeformat mit der Option --format anpassen können. Abschließend entdecken Sie, wie Sie nur lokale Build-Aufzeichnungen mit der Option --local auflisten können. Dieses Lab vermittelt Ihnen praktische Fähigkeiten zur Nachverfolgung und Analyse Ihrer Docker-Build-Historie.


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{{"Verwendung des Befehls docker buildx history ls zum Auflisten von Build-Records"}} end

Ein einfaches Image erstellen, um einen Build-Record anzulegen

In diesem Schritt werden wir ein einfaches Docker-Image erstellen. Das Bauen eines Images mit Docker Buildx erzeugt automatisch einen Build-Record. Ein Build-Record enthält Informationen über den Build, wie z.B. die Build-Argumente, den Build-Kontext und das resultierende Image.

Erstellen wir zunächst eine einfache Dockerfile im Verzeichnis ~/project. Diese Dockerfile erstellt ein Image basierend auf dem ubuntu-Image und installiert curl.

cd ~/project
nano Dockerfile

Fügen Sie folgenden Inhalt zur Dockerfile hinzu:

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

Speichern und schließen Sie die Datei.

Nun bauen wir das Image mit docker buildx build. Wir werden das Image mit dem Tag my-ubuntu-curl versehen.

docker buildx build -t my-ubuntu-curl .

Dieser Befehl erstellt das Image basierend auf der Dockerfile im aktuellen Verzeichnis (.) und taggt es als my-ubuntu-curl. Docker Buildx erstellt automatisch einen Build-Record für diesen Build.

Nach Abschluss des Builds sollten Sie eine Ausgabe sehen, die den Build-Prozess und die erfolgreiche Erstellung des Images bestätigt.

Alle Build-Records mit docker buildx history ls auflisten

In diesem Schritt lernen Sie, wie Sie alle Build-Records mit dem Befehl docker buildx history ls anzeigen können. Wie wir im vorherigen Schritt gesehen haben, erzeugt das Erstellen eines Images mit docker buildx build automatisch einen Build-Record. Diese Records werden gespeichert und können eingesehen werden, um den Build-Verlauf nachzuverfolgen.

Um alle Build-Records aufzulisten, führen Sie einfach folgenden Befehl aus:

docker buildx history ls

Dieser Befehl zeigt eine Tabelle mit Informationen zu jedem Build-Record an. Die Ausgabe enthält typischerweise die Build-ID, den verwendeten Builder, den Build-Status, die Build-Dauer und den Zeitpunkt der Erstellung.

Sie sollten mindestens einen Eintrag in der Ausgabe sehen, der dem Image entspricht, das wir im vorherigen Schritt erstellt haben (my-ubuntu-curl).

Der Befehl docker buildx history ls ist nützlich, um einen Überblick über Ihre Build-Aktivitäten zu erhalten und bestimmte Builds zu identifizieren.

Build-Records nach Status mit der --filter-Option filtern

In diesem Schritt lernen Sie, wie Sie Build-Records nach ihrem Status filtern können, indem Sie die --filter-Option mit dem Befehl docker buildx history ls verwenden. Dies ist nützlich, wenn Sie nur Builds mit einem bestimmten Status anzeigen möchten, wie z.B. erfolgreich abgeschlossene oder fehlgeschlagene Builds.

Die --filter-Option erwartet ein Schlüssel-Wert-Paar im Format key=value. Zum Filtern nach Status verwenden wir den Schlüssel status. Mögliche Werte für den Status sind complete, running, failed usw.

Da der Build aus dem ersten Schritt erfolgreich war, sollte sein Status complete sein. Filtern wir die Build-Historie, um nur abgeschlossene Builds anzuzeigen:

docker buildx history ls --filter status=complete

Dieser Befehl zeigt nur die Build-Records an, deren Status complete ist. In der Ausgabe sollten Sie den Build-Record für my-ubuntu-curl sehen.

Falls Sie fehlgeschlagene Builds hätten, könnten Sie diese mit --filter status=failed filtern.

Ausgabe von Build-Records mit der --format-Option formatieren

In diesem Schritt lernen Sie, wie Sie die Ausgabe des Befehls docker buildx history ls mit der --format-Option formatieren können. Dies ermöglicht es Ihnen, die angezeigten Informationen und deren Darstellungsform anzupassen.

Die --format-Option akzeptiert eine Go-Template-Zeichenkette. Sie können Platzhalter wie .ID, .Builder, .Status, .Duration und .CreatedAt verwenden, um spezifische Informationen aus dem Build-Record einzubinden.

Lassen Sie uns die Ausgabe so formatieren, dass nur die Build-ID und der Status, getrennt durch einen Doppelpunkt, angezeigt werden:

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

Dieser Befehl gibt jeden Build-Record in einer neuen Zeile aus, wobei die Build-ID gefolgt von einem Doppelpunkt und dem Status angezeigt wird.

Sie können komplexere Formate erstellen, indem Sie verschiedene Platzhalter und Text kombinieren. Zum Beispiel, um den Builder und die Dauer anzuzeigen:

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

Experimentieren Sie mit verschiedenen Format-Strings, um die Ausgabe nach Ihren Bedürfnissen anzupassen.

Lokale Build-Records mit der --local-Option auflisten

In diesem Schritt untersuchen wir die --local-Option mit docker buildx history ls. Standardmäßig listet docker buildx history ls Build-Records von allen Buildern auf. Die --local-Option beschränkt die Ausgabe auf Build-Records der aktuellen Builder-Instanz.

Um nur lokale Build-Records anzuzeigen, verwenden Sie folgenden Befehl:

docker buildx history ls --local

In dieser LabEx-Umgebung, da wir nur den Standard-Builder verwendet haben, werden die Ausgaben von docker buildx history ls und docker buildx history ls --local wahrscheinlich identisch sein. In Umgebungen mit mehreren Buildern ist diese Option jedoch nützlich, um sich auf die Historie eines bestimmten Builders zu konzentrieren.

Damit schließen wir unsere Untersuchung zum Auflisten und Filtern der Docker Buildx-Build-Historie ab. Sie wissen nun, wie Sie Ihre Build-Records anzeigen, nach Status filtern, die Ausgabe formatieren und Records vom lokalen Builder auflisten können.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man den Befehl docker buildx history ls zur Verwaltung von Build-Records verwendet. Wir begannen mit dem Erstellen eines einfachen Docker-Images mittels docker buildx build, wodurch automatisch ein Build-Record erstellt wurde. Anschließend nutzten wir docker buildx history ls, um alle verfügbaren Build-Records aufzulisten und die mit jedem Build verknüpften Informationen zu betrachten.

Wir haben die Möglichkeiten von docker buildx history ls weiter erkundet, indem wir gelernt haben, wie man Build-Records anhand ihres Status mit der --filter-Option filtert und wie man die Ausgabe mit der --format-Option anpasst. Abschließend haben wir entdeckt, wie man nur lokale Build-Records mit der --local-Option auflistet, wodurch wir einen umfassenden Überblick über die Verwaltung und Inspektion der Docker Buildx-Build-Historie erhalten haben.