Wie man den docker volume ls-Befehl verwendet, um Volumes aufzulisten und zu filtern

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 volume ls effektiv nutzen können, um Ihre Docker-Volumes (Docker-Datenträger) zu verwalten. Wir beginnen damit, Beispiel-Volumes zu erstellen, mit denen Sie arbeiten können. Anschließend erfahren Sie, wie Sie alle vorhandenen Volumes auf Ihrem System auflisten können.

Basierend auf der Auflistung werden Sie untersuchen, wie Sie Volumes anhand von Kriterien wie Name und Treiber (driver) filtern können, sowie anhand ihres "dangling"-Status (ungeordneter Status). Abschließend lernen Sie, wie Sie die Ausgabe des Befehls docker volume ls formatieren können, um sie besser lesbar zu machen und um spezifische Informationen zu extrahieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/VolumeOperationsGroup(["Volume Operations"]) docker/ContainerOperationsGroup -.-> docker/ls("List Containers") docker/ContainerOperationsGroup -.-> docker/rm("Remove Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/VolumeOperationsGroup -.-> docker/volume("Manage Volumes") subgraph Lab Skills docker/ls -.-> lab-555260{{"Wie man den docker volume ls-Befehl verwendet, um Volumes aufzulisten und zu filtern"}} docker/rm -.-> lab-555260{{"Wie man den docker volume ls-Befehl verwendet, um Volumes aufzulisten und zu filtern"}} docker/create -.-> lab-555260{{"Wie man den docker volume ls-Befehl verwendet, um Volumes aufzulisten und zu filtern"}} docker/volume -.-> lab-555260{{"Wie man den docker volume ls-Befehl verwendet, um Volumes aufzulisten und zu filtern"}} end

Erstellen von Beispiel-Volumes

In diesem Schritt lernen wir, wie man Docker-Volumes (Docker-Datenträger) erstellt. Volumes sind die bevorzugte Methode, um von Docker-Containern erzeugte und genutzte Daten dauerhaft zu speichern. Während Bind-Mounts (Verknüpfte Einhängepunkte) von der Verzeichnisstruktur des Host-Systems abhängen, werden Volumes vollständig von Docker verwaltet.

Um ein Volume zu erstellen, verwenden wir den Befehl docker volume create. Erstellen wir zunächst ein einfaches Volume mit dem Namen myvolume.

docker volume create myvolume

Wenn die Erstellung erfolgreich war, sollte der Name des Volumes in der Konsole angezeigt werden.

Nun erstellen wir ein weiteres Volume mit dem Namen another_volume.

docker volume create another_volume

Wir haben nun zwei Volumes erstellt, die von Docker-Containern zur dauerhaften Datenspeicherung genutzt werden können.

Auflisten aller Volumes

In diesem Schritt lernen wir, wie man alle auf unserem System vorhandenen Docker-Volumes (Docker-Datenträger) auflisten kann. Dies ist nützlich, um zu sehen, welche Volumes verfügbar sind und diese zu verwalten.

Um alle Volumes aufzulisten, verwenden wir den Befehl docker volume ls. Dieser Befehl zeigt Ihnen eine Liste aller Volumes an, einschließlich ihres Treibers (driver) und Namens.

docker volume ls

In der Ausgabe sollten die Volumes, die wir im vorherigen Schritt erstellt haben (myvolume und another_volume), sowie alle anderen möglicherweise auf dem System vorhandenen Volumes aufgeführt sein. Die Ausgabe enthält normalerweise die Spalten DRIVER und VOLUME NAME.

Der Standardtreiber (driver) für Volumes ist in der Regel local, was bedeutet, dass das Volume auf dem lokalen Rechner gespeichert wird, auf dem Docker läuft.

Filtern von Volumes nach Name und Treiber

In diesem Schritt lernen wir, wie man die Liste der Docker-Volumes (Docker-Datenträger) anhand ihres Namens und Treibers (driver) filtern kann. Dies ist hilfreich, wenn Sie viele Volumes haben und bestimmte Volumes finden möchten.

Wir können die Option --filter zusammen mit dem Befehl docker volume ls verwenden, um die Ausgabe zu filtern. Der Filter erwartet ein Schlüssel-Wert-Paar (key=value).

Um nach Name zu filtern, verwenden wir den Schlüssel name. Filtern wir nun nach dem Volume mit dem Namen myvolume.

docker volume ls --filter name=myvolume

In der Ausgabe sollte nur das Volume myvolume aufgeführt sein.

Nun filtern wir nach dem Treiber (driver). Da wir beim Erstellen der Volumes den Standardtreiber verwendet haben, ist der Treiber local. Filtern wir nach Volumes, die den local-Treiber verwenden.

docker volume ls --filter driver=local

Dieser Befehl sollte alle Volumes auflisten, die den local-Treiber verwenden, was sowohl myvolume als auch another_volume einschließen sollte.

Sie können auch Filter kombinieren. Beispielsweise können Sie folgenden Befehl verwenden, um nach einem Volume mit dem Namen myvolume zu filtern, das den local-Treiber verwendet:

docker volume ls --filter name=myvolume --filter driver=local

Dies wird erneut nur das Volume myvolume anzeigen.

Filtern von Volumes nach "dangling"-Status

In diesem Schritt lernen wir, wie man Docker-Volumes (Docker-Datenträger) anhand ihres "dangling"-Status (ungeordneter Status) filtern kann. Ein "dangling" Volume ist ein Volume, das derzeit keinem Container zugeordnet ist. Diese Volumes können unnötig Speicherplatz belegen.

Um nach "dangling" Volumes zu filtern, verwenden wir die Option --filter dangling=true.

Zunächst erstellen wir einen Container und ordnen ihm eines unserer Volumes zu. Wir verwenden das ubuntu-Image. Wenn Sie das ubuntu-Image nicht lokal haben, lädt Docker es automatisch herunter.

docker run -d --name mycontainer -v myvolume:/app ubuntu sleep 3600

Dieser Befehl startet einen Container namens mycontainer im detached-Modus (-d), bindet das Volume myvolume an das Verzeichnis /app innerhalb des Containers (-v myvolume:/app), verwendet das ubuntu-Image und lässt den Container für eine Stunde laufen (sleep 3600).

Nun listen wir alle Volumes erneut auf:

docker volume ls

Sie werden sowohl myvolume als auch another_volume sehen. myvolume wird derzeit von mycontainer verwendet. another_volume ist keinem Container zugeordnet, es ist also ein "dangling" Volume.

Nun filtern wir nach "dangling" Volumes:

docker volume ls --filter dangling=true

In der Ausgabe sollte another_volume aufgeführt sein, da es keinem laufenden Container zugeordnet ist.

Um Volumes anzuzeigen, die nicht "dangling" sind (d. h., die einem Container zugeordnet sind), können Sie --filter dangling=false verwenden.

docker volume ls --filter dangling=false

Dies sollte myvolume anzeigen.

Schließlich stoppen und entfernen wir den von uns erstellten Container.

docker stop mycontainer
docker rm mycontainer

Wenn Sie nun erneut "dangling" Volumes auflisten:

docker volume ls --filter dangling=true

Sowohl myvolume als auch another_volume sollten nun als "dangling" erscheinen, da myvolume keinem Container mehr zugeordnet ist.

Formatieren der Ausgabe von Volumes

In diesem Schritt lernen wir, wie man die Ausgabe des Befehls docker volume ls formatiert. Dies ermöglicht es uns, die angezeigten Informationen anzupassen und sie in einer für unsere Bedürfnisse nützlichen Weise darzustellen.

Wir können die Option --format verwenden, um das Ausgabeformat anzugeben. Diese Option akzeptiert die Go-Template-Syntax.

Listen wir die Volumes auf und zeigen nur den Volumennamen an. Wir können die Vorlage {{.Name}} verwenden, um dies zu erreichen.

docker volume ls --format "{{.Name}}"

Dieser Befehl gibt eine Liste von Volumennamen aus, jeweils einer pro Zeile.

Nun zeigen wir sowohl den Treiber (driver) als auch den Namen an, getrennt durch einen Doppelpunkt. Wir können {{.Driver}}:{{.Name}} verwenden.

docker volume ls --format "{{.Driver}}:{{.Name}}"

Die Ausgabe zeigt den Treiber und den Namen für jedes Volume an, z. B. local:myvolume.

Wir können auch das table-Format verwenden, um die Ausgabe in einem lesbareren Tabellenformat anzuzeigen, ähnlich wie die Standardausgabe, aber mit mehr Kontrolle über die Spalten. Zeigen wir den Treiber und den Namen in einer Tabelle an.

docker volume ls --format "table {{.Driver}}\t{{.Name}}"

Das \t wird verwendet, um einen Tabulatorabstand zwischen den Spalten zu erstellen. Die Ausgabe wird eine Tabelle sein, mit "DRIVER" und "NAME" als Spaltenüberschriften.

Schließlich räumen wir die während dieses Labs erstellten Volumes auf. Wir können sie mit dem Befehl docker volume rm entfernen.

docker volume rm myvolume another_volume

Sie sollten eine Bestätigung sehen, dass die Volumes entfernt wurden.

Zusammenfassung

In diesem Lab haben wir gelernt, wie man Docker-Volumes (Docker-Datenträger) mit dem Befehl docker volume ls verwaltet. Wir haben zunächst Beispiel-Volumes mit docker volume create erstellt. Anschließend haben wir untersucht, wie man alle vorhandenen Volumes auf dem System mit docker volume ls auflisten kann.

Darüber hinaus haben wir uns mit dem Filtern von Volumes beschäftigt, um bestimmte Volumes zu finden. Wir haben gelernt, Volumes nach Name und Treiber (driver) zu filtern, indem wir die Option --filter mit den Schlüsseln name und driver verwenden. Im Lab wurde auch das Filtern von Volumes anhand ihres "dangling"-Status (ungeordneter Status) und das Formatieren der Ausgabe des Befehls docker volume ls für eine bessere Lesbarkeit behandelt.