Verwendung des Befehls docker buildx history rm zum Entfernen von Build-Aufzeichnungen

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 Build-Aufzeichnungen mit dem Befehl docker buildx history rm verwalten. Build-Aufzeichnungen sind wertvoll, um Ihre Build-Prozesse und deren Ergebnisse nachzuverfolgen.

Sie beginnen damit, eine Build-Aufzeichnung mit docker buildx build zu erstellen und deren Metadaten zu speichern. Anschließend lernen Sie, wie Sie vorhandene Build-Aufzeichnungen mit docker buildx ls auflisten, um deren Details einzusehen. Abschließend üben Sie das Entfernen spezifischer Build-Aufzeichnungen sowie das Löschen aller Build-Aufzeichnungen mit dem Befehl docker buildx history rm.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/SystemManagementGroup -.-> docker/prune("Remove Unused Docker Objects") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/ls -.-> lab-555055{{"Verwendung des Befehls docker buildx history rm zum Entfernen von Build-Aufzeichnungen"}} docker/prune -.-> lab-555055{{"Verwendung des Befehls docker buildx history rm zum Entfernen von Build-Aufzeichnungen"}} docker/build -.-> lab-555055{{"Verwendung des Befehls docker buildx history rm zum Entfernen von Build-Aufzeichnungen"}} end

Build-Aufzeichnung erstellen

In diesem Schritt lernen Sie, wie Sie eine Build-Aufzeichnung mit dem Befehl docker buildx build erstellen. Build-Aufzeichnungen sind nützlich, um die Ergebnisse Ihrer Builds nachzuverfolgen, einschließlich des Build-Kontexts, der Build-Argumente und der resultierenden Image-ID.

Erstellen wir zunächst ein einfaches Dockerfile, das wir für den Build verwenden werden. Navigieren Sie zu Ihrem Projektverzeichnis und erstellen Sie eine Datei namens Dockerfile mit folgendem Inhalt:

FROM alpine
CMD ["echo", "Hello, Docker!"]

Dieses Dockerfile ist sehr einfach. Es verwendet das Basis-Image alpine und definiert einen Befehl, der "Hello, Docker!" ausgibt.

Nun bauen wir ein Image aus diesem Dockerfile und erstellen eine Build-Aufzeichnung. Wir verwenden den Befehl docker buildx build mit dem Flag --metadata-file, um die Build-Aufzeichnung in einer Datei zu speichern.

docker buildx build . --metadata-file build-record.json -t my-hello-image

In diesem Befehl:

  • docker buildx build . weist Docker an, ein Image aus dem Dockerfile im aktuellen Verzeichnis zu erstellen.
  • --metadata-file build-record.json gibt an, dass die Build-Aufzeichnung in einer Datei namens build-record.json gespeichert werden soll.
  • -t my-hello-image versieht das resultierende Image mit dem Namen my-hello-image.

Nach Ausführung des Befehls sollten Sie eine Ausgabe sehen, die den Build-Prozess anzeigt. Eine Datei namens build-record.json wird in Ihrem aktuellen Verzeichnis erstellt. Diese Datei enthält die Build-Aufzeichnung im JSON-Format.

Sie können den Inhalt der Datei build-record.json mit dem Befehl cat anzeigen:

cat build-record.json

Dadurch wird der JSON-Inhalt der Build-Aufzeichnung angezeigt, der Informationen über den Build enthält.

Build-Aufzeichnungen auflisten

In diesem Schritt lernen Sie, wie Sie vorhandene Build-Aufzeichnungen mit dem Befehl docker buildx ls anzeigen können. Dieser Befehl ermöglicht es Ihnen, eine Liste aller erstellten Build-Aufzeichnungen einzusehen.

Um die Build-Aufzeichnungen aufzulisten, führen Sie einfach folgenden Befehl aus:

docker buildx ls

Dieser Befehl zeigt eine Tabelle mit Informationen zu den verfügbaren Build-Aufzeichnungen an. Die Ausgabe enthält typischerweise den Builder-Namen, den verwendeten Treiber und den Status.

Sie sollten einen Eintrag für den Standard-Builder sehen, der verwendet wird, wenn Sie docker buildx build ausführen. Die im vorherigen Schritt erstellte Build-Aufzeichnung ist mit diesem Builder verknüpft.

Der Befehl docker buildx ls ist nützlich, um einen Überblick über Ihre Build-Umgebungen und die zugehörigen Build-Aufzeichnungen zu erhalten.

Bestimmte Build-Aufzeichnung entfernen

In diesem Schritt lernen Sie, wie Sie eine bestimmte Build-Aufzeichnung mit dem Befehl docker buildx prune löschen können. Dies ist nützlich, um einzelne Build-Aufzeichnungen zu bereinigen, die Sie nicht mehr benötigen.

Um eine bestimmte Build-Aufzeichnung zu entfernen, müssen Sie deren ID identifizieren. Sie finden die Build-Aufzeichnungs-ID in der build-record.json-Datei, die wir im ersten Schritt erstellt haben. Öffnen Sie die Datei mit cat:

cat build-record.json

Suchen Sie im JSON-Output nach dem Abschnitt "BuildRecord". In diesem Abschnitt finden Sie ein Feld "ID". Kopieren Sie den Wert dieser ID. Es handelt sich um eine lange Zeichenkette.

Verwenden Sie nun den Befehl docker buildx prune mit dem Flag --keep-storage und der Build-Aufzeichnungs-ID, um die spezifische Aufzeichnung zu entfernen. Ersetzen Sie <BUILD_RECORD_ID> durch die tatsächlich kopierte ID.

docker buildx prune --keep-storage <BUILD_RECORD_ID>

Das Flag --keep-storage wird hier verwendet, um anzugeben, dass wir Build-Aufzeichnungen und nicht den Build-Cache bereinigen.

Nach Ausführung des Befehls sollten Sie eine Bestätigung sehen, dass die Build-Aufzeichnung entfernt wurde.

Um zu überprüfen, ob die Build-Aufzeichnung entfernt wurde, können Sie die Build-Aufzeichnungen erneut auflisten:

docker buildx ls

Die spezifische Build-Aufzeichnung, die Sie entfernt haben, sollte nicht mehr in der Liste erscheinen.

Alle Build-Aufzeichnungen entfernen

In diesem Schritt lernen Sie, wie Sie alle Build-Aufzeichnungen mit dem Befehl docker buildx prune und dem Flag --all löschen können. Dies ist eine praktische Methode, um alle Build-Aufzeichnungen auf einmal zu bereinigen.

Um alle Build-Aufzeichnungen zu entfernen, führen Sie folgenden Befehl aus:

docker buildx prune --all --keep-storage --force

In diesem Befehl:

  • docker buildx prune ist der Befehl zum Entfernen von Build-bezogenen Daten
  • --all gibt an, dass alle Build-Aufzeichnungen entfernt werden sollen
  • --keep-storage zeigt an, dass wir Build-Aufzeichnungen und nicht den Build-Cache bereinigen
  • --force überspringt die Bestätigungsabfrage, was für Skripte oder Umgebungen ohne Interaktionsmöglichkeit nützlich ist

Nach Ausführung des Befehls sollten Sie eine Ausgabe sehen, die bestätigt, dass die Build-Aufzeichnungen entfernt wurden.

Um zu überprüfen, ob alle Build-Aufzeichnungen entfernt wurden, können Sie die Build-Aufzeichnungen erneut auflisten:

docker buildx ls

Sie sollten nun nur noch den Standard-Builder-Eintrag sehen, ohne spezifische Build-Aufzeichnungen darunter.

Damit ist dieses Lab zum Verwalten von Docker-Build-Aufzeichnungen abgeschlossen. Sie haben gelernt, wie man Build-Aufzeichnungen erstellt, auflistet und entfernt.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie Docker-Build-Aufzeichnungen mit docker buildx verwalten. Sie begannen mit der Erstellung einer einfachen Dockerfile und verwendeten dann docker buildx build mit dem Flag --metadata-file, um ein Image zu bauen und eine Build-Aufzeichnung zu generieren, die in einer JSON-Datei gespeichert wurde. Anschließend lernten Sie, wie Sie vorhandene Build-Aufzeichnungen mit dem Befehl docker buildx ls auflisten können, um Informationen über Ihre Builds einzusehen.

Das Lab behandelte außerdem, wie Sie spezifische Build-Aufzeichnungen mit docker buildx history rm <record_id> entfernen und wie Sie alle Build-Aufzeichnungen auf einmal mit docker buildx history rm --all löschen können. Diese Schritte demonstrieren das Lebenszyklusmanagement von Build-Aufzeichnungen in Docker Buildx.