Wie man den Befehl docker buildx du zur Überprüfung der Speichernutzung 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 den Befehl docker buildx du effektiv nutzen können, um die Speichernutzung Ihres Docker-Build-Caches zu überprüfen und zu verstehen. Sie beginnen damit, die grundlegende Speichernutzung für Ihren aktuellen Builder zu prüfen und die Bedeutung der Ausgabespalten zu verstehen, einschließlich CACHE ID, SIZE und LAST ACCESSED.

Darüber hinaus werden Sie untersuchen, wie Sie die ausführliche Ausgabe nutzen können, um detailliertere Einblicke in einzelne Cache-Einträge zu erhalten. Sie lernen auch, wie Sie die Speichernutzung für eine bestimmte Builder-Instanz überprüfen können, was Ihnen ermöglicht, Ihren Build-Cache effektiver zu verwalten und zu optimieren.


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/system("Manage Docker") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/ls -.-> lab-555048{{"Wie man den Befehl docker buildx du zur Überprüfung der Speichernutzung verwendet"}} docker/system -.-> lab-555048{{"Wie man den Befehl docker buildx du zur Überprüfung der Speichernutzung verwendet"}} docker/build -.-> lab-555048{{"Wie man den Befehl docker buildx du zur Überprüfung der Speichernutzung verwendet"}} end

Speichernutzung für den aktuellen Builder anzeigen

In diesem Schritt lernen Sie, wie Sie die Speichernutzung Ihres aktuellen Docker-Builders überprüfen können. Der Befehl docker buildx du wird verwendet, um die Speichernutzung des Build-Caches anzuzeigen. Dies ist nützlich, um zu verstehen, wie viel Speicherplatz Ihr Build-Cache belegt und um potenzielle Bereiche für Bereinigungen zu identifizieren.

Führen Sie zunächst den Befehl docker buildx du ohne Optionen aus, um die grundlegenden Speichernutzungsinformationen für den aktuellen Builder anzuzeigen.

docker buildx du

Sie sollten eine Ausgabe ähnlich der folgenden sehen, die die Gesamtgröße des Build-Caches anzeigt. Die genaue Größe variiert je nach Ihren vorherigen Build-Aktivitäten.

CACHE ID                                    SIZE      LAST ACCESSED
... (Ausgabe kann variieren)
TOTAL: 123.4MB

Die Ausgabe zeigt eine Liste von Cache-Einträgen mit deren ID, Größe und dem Zeitpunkt des letzten Zugriffs. Die Zeile TOTAL am Ende gibt den gesamten vom Build-Cache des aktuellen Builders belegten Speicherplatz an.

Die Ausgabe von docker buildx du verstehen

Im vorherigen Schritt haben Sie den Befehl docker buildx du ausgeführt und eine Ausgabe mit Cache-Einträgen sowie einer Gesamtgröße gesehen. In diesem Schritt gehen wir tiefer ins Detail, um die verschiedenen Spalten der Ausgabe besser zu verstehen.

Betrachten wir die Ausgabe noch einmal:

CACHE ID                                    SIZE      LAST ACCESSED
... (Ausgabe kann variieren)
TOTAL: 123.4MB
  • CACHE ID: Dies ist eine eindeutige Kennung für jeden Cache-Eintrag. Diese IDs werden von BuildKit generiert und repräsentieren verschiedene Ebenen oder Phasen Ihres Build-Prozesses, die zwischengespeichert wurden.
  • SIZE: Diese Spalte zeigt die Größe des jeweiligen Cache-Eintrags an. Dies ist der Speicherplatz, den diese spezifische zwischengespeicherte Ebene oder Phase belegt.
  • LAST ACCESSED: Dies gibt den Zeitpunkt an, zu dem dieser Cache-Eintrag zuletzt während eines Builds verwendet wurde. Diese Information ist hilfreich, um nicht mehr aktiv genutzte Cache-Einträge zu identifizieren, die möglicherweise bereinigt werden könnten, um Speicherplatz freizugeben.

Die Zeile TOTAL am Ende zeigt die Summe der Größen aller aufgelisteten Cache-Einträge an und gibt Ihnen damit die gesamte Speichernutzung des Build-Caches für den aktuellen Builder an. Das Verständnis dieser Spalten hilft Ihnen, Ihren Build-Cache zu analysieren und dessen Größe effektiv zu verwalten.

Detaillierte Ausgabe zur Überprüfung von Speichernutzungsdaten verwenden

In diesem Schritt lernen Sie, wie Sie durch die Verwendung der detaillierten Ausgabeoption mit dem Befehl docker buildx du genauere Informationen zu den Build-Cache-Einträgen erhalten. Die detaillierte Ausgabe liefert zusätzliche Details, die für das Debugging und das Verständnis der Herkunft zwischengespeicherter Ebenen hilfreich sein können.

Um die detaillierte Ausgabe zu erhalten, verwenden Sie das Flag -v oder --verbose mit dem Befehl docker buildx du:

docker buildx du -v

Die Ausgabe enthält nun zusätzliche Spalten wie USAGE, DESCRIPTION und möglicherweise weitere, abhängig vom Typ des Cache-Eintrags.

CACHE ID                                    SIZE      LAST ACCESSED   USAGE     DESCRIPTION
... (Ausgabe kann variieren)
TOTAL: 123.4MB
  • USAGE: Diese Spalte kann Informationen darüber liefern, wie der Cache-Eintrag verwendet oder referenziert wird.
  • DESCRIPTION: Diese Spalte enthält häufig eine Beschreibung des Build-Schritts oder der Anweisung, die diesen Cache-Eintrag generiert hat. Dies ist sehr nützlich, um zu identifizieren, welche Teile Ihrer Dockerfile oder Ihres Build-Prozesses zur Cache-Größe beitragen.

Durch die Untersuchung der Spalte DESCRIPTION in der detaillierten Ausgabe können Sie sehen, welche spezifischen Build-Anweisungen (wie RUN, COPY usw.) den einzelnen Cache-Einträgen entsprechen. Dies hilft Ihnen, die Struktur Ihres Build-Caches zu verstehen und Bereiche zu identifizieren, in denen Sie Ihre Dockerfile optimieren können, um die Cache-Größe zu reduzieren.

Speichernutzung für eine bestimmte Builder-Instanz überprüfen

In diesem Schritt lernen Sie, wie Sie die Speichernutzung für eine bestimmte Docker Builder-Instanz überprüfen. Standardmäßig zeigt docker buildx du die Speichernutzung für den aktuell aktiven Builder an. Allerdings können Sie mehrere Builder-Instanzen konfiguriert haben und möchten möglicherweise die Cache-Nutzung für eine andere Instanz untersuchen.

Zuerst listen wir die verfügbaren Builder-Instanzen auf, um die gewünschte Instanz zu identifizieren. Dies können Sie mit dem Befehl docker buildx ls tun:

docker buildx ls

Die Ausgabe zeigt eine Liste Ihrer Builder-Instanzen. Suchen Sie in der Spalte NAME nach dem Namen des Builders, der Sie interessiert. Der aktuell aktive Builder wird mit einem Sternchen (*) markiert.

NAME/NODE       DRIVER/ENDPOINT             STATUS   BUILDKIT             PLATFORMS
default *       docker                      running  v0.10.5+a34f333b1f   linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6
mybuilder       docker-container            running  v0.10.5+a34f333b1f   linux/amd64, linux/arm64, linux/riscv64, linux/ppc64le, linux/s390x, linux/386, linux/arm/v7, linux/arm/v6

Um die Speichernutzung für eine bestimmte Builder-Instanz zu überprüfen, können Sie das Flag --builder gefolgt vom Namen des Builders verwenden. Wenn Sie beispielsweise einen Builder namens mybuilder haben, führen Sie folgenden Befehl aus:

docker buildx du --builder mybuilder

Ersetzen Sie mybuilder mit dem tatsächlichen Namen der Builder-Instanz, die Sie untersuchen möchten. Dieser Befehl zeigt die Speichernutzung speziell für den Cache an, der mit dieser Builder-Instanz verknüpft ist. Dies ist nützlich, wenn Sie mit verschiedenen Builder-Konfigurationen arbeiten oder die Cache-Nutzung einer bestimmten Build-Umgebung isolieren möchten.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Befehl docker buildx du verwenden, um die Speichernutzung Ihres Docker Build-Caches zu überprüfen. Sie begannen mit der Ausführung des grundlegenden Befehls, um die Gesamtgröße und eine Liste der Cache-Einträge anzuzeigen.

Anschließend haben Sie ein tieferes Verständnis der Ausgabespalten erlangt, einschließlich CACHE ID, SIZE und LAST ACCESSED, die Details zu einzelnen Cache-Einträgen liefern. Sie haben außerdem untersucht, wie Sie die detaillierte Ausgabe (-v) verwenden können, um genauere Informationen zu jedem Cache-Eintrag zu erhalten, und gelernt, wie Sie die Speichernutzung für eine bestimmte Builder-Instanz überprüfen, indem Sie deren Namen angeben.