Wie man den docker container ls Befehl verwendet, um Container 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 container ls (auch bekannt als docker ps) effektiv nutzen können, um Ihre Docker-Container aufzulisten und zu verwalten. Sie beginnen damit, alle aktuell laufenden Container aufzulisten und erweitern dies dann auf beendete Container.

Darüber hinaus werden Sie untersuchen, wie Sie die Containerliste anhand verschiedener Kriterien wie Status und Name filtern können, und lernen, wie Sie die Ausgabe formatieren, um nur die spezifischen Informationen anzuzeigen, die Sie benötigen. Abschließend entdecken Sie, wie Sie schnell die Speichernutzung Ihrer Container überprüfen können.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/SystemManagementGroup(["System Management"]) docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/ImageOperationsGroup(["Image Operations"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ImageOperationsGroup -.-> docker/pull("Pull Image from Repository") docker/SystemManagementGroup -.-> docker/system("Manage Docker") subgraph Lab Skills docker/run -.-> lab-555113{{"Wie man den docker container ls Befehl verwendet, um Container aufzulisten und zu filtern"}} docker/ps -.-> lab-555113{{"Wie man den docker container ls Befehl verwendet, um Container aufzulisten und zu filtern"}} docker/pull -.-> lab-555113{{"Wie man den docker container ls Befehl verwendet, um Container aufzulisten und zu filtern"}} docker/system -.-> lab-555113{{"Wie man den docker container ls Befehl verwendet, um Container aufzulisten und zu filtern"}} end

Alle laufenden Container auflisten

In diesem Schritt lernen Sie, wie Sie alle aktuell laufenden Docker-Container auflisten können. Dies ist ein grundlegender Befehl zur Verwaltung Ihrer Container und zum Verständnis der aktiven Prozesse auf Ihrem System.

Zuerst laden wir ein einfaches Image, das wir zum Ausführen eines Containers verwenden können. Wir verwenden das hello-world-Image, ein sehr kleines Image zum Testen Ihrer Docker-Installation.

docker pull hello-world

Sie sollten eine Ausgabe sehen, die anzeigt, dass das Image heruntergeladen und extrahiert wird.

Nun starten wir einen Container mit diesem Image. Der Befehl docker run erstellt und startet einen neuen Container.

docker run hello-world

Dieser Befehl führt den hello-world-Container aus. Der Container gibt eine Nachricht aus und beendet sich anschließend. Obwohl er beendet wird, gilt er weiterhin als existierender Container auf Ihrem System, nur nicht als laufend.

Um nur die aktuell laufenden Container anzuzeigen, verwenden Sie den Befehl docker ps.

docker ps

Da sich der hello-world-Container sofort nach dem Start beendet hat, wird der Befehl docker ps wahrscheinlich keine Ausgabe unter den Spalten "CONTAINER ID", "IMAGE", "COMMAND" usw. anzeigen, da aktuell keine Container laufen.

Lassen Sie uns einen Container starten, der aktiv bleibt. Wir verwenden das ubuntu-Image und führen einen einfachen Befehl aus, der den Container am Leben hält. Zuerst laden wir das ubuntu-Image.

docker pull ubuntu

Nun starten wir einen Ubuntu-Container, der durch Ausführen des Befehls sleep infinity aktiv bleibt. Das Flag -d führt den Container im Detached-Modus (im Hintergrund) aus.

docker run -d ubuntu sleep infinity

Sie sehen eine lange Zeichenkette, die die Container-ID darstellt. Dies zeigt an, dass der Container im Hintergrund gestartet wurde.

Führen Sie nun erneut docker ps aus, um den laufenden Container anzuzeigen.

docker ps

Diesmal sollten Sie eine Ausgabe sehen, die den gerade gestarteten Ubuntu-Container auflistet. Die Ausgabe enthält Informationen wie die Container-ID, das verwendete Image, den ausgeführten Befehl, den Erstellungszeitpunkt, den Status, Ports und einen zufällig generierten Namen.

Der Befehl docker ps ist essenziell, um schnell zu überprüfen, welche Container aktiv sind und Ressourcen auf Ihrem System verbrauchen.

Alle Container anzeigen (inkl. beendeter)

Im vorherigen Schritt haben Sie gelernt, wie Sie nur laufende Container mit docker ps anzeigen können. Manchmal müssen Sie jedoch alle auf Ihrem System vorhandenen Container sehen, einschließlich derjenigen, die beendet wurden. Dies ist nützlich für die Bereinigung alter Container oder die Untersuchung von Containern, die mit einem Fehler beendet wurden.

Um alle Container anzuzeigen, sowohl laufende als auch beendete, verwenden Sie den Befehl docker ps mit dem -a-Flag. Das -a steht für "all" (alle).

Probieren wir diesen Befehl jetzt aus:

docker ps -a

Sie sollten eine Liste sehen, die den laufenden Ubuntu-Container aus dem vorherigen Schritt sowie den hello-world-Container enthält, der nach der Ausführung beendet wurde. Die Spalte "STATUS" zeigt an, ob ein Container "Up" (läuft) oder "Exited" (beendet) ist.

Die Ausgabe liefert die gleichen Informationen wie docker ps (Container-ID, Image, Befehl, Erstellungszeit, Status, Ports und Name), aber für alle Container, unabhängig von ihrem aktuellen Zustand.

Dieser Befehl ist sehr hilfreich, um einen vollständigen Überblick über alle Container auf Ihrem System zu erhalten. Sie können sehen, welche Container erstellt wurden, auch wenn sie aktuell nicht aktiv sind.

Container nach Status und Namen filtern

In diesem Schritt lernen Sie, wie Sie die Containerliste nach Status oder Namen filtern können. Dies ist besonders nützlich, wenn Sie viele Container haben und nur eine bestimmte Teilmenge anzeigen möchten.

Der docker ps-Befehl unterstützt ein --filter-Flag, mit dem Sie Kriterien für die Containerauflistung festlegen können.

Beginnen wir damit, nur die laufenden Container mit einem Filter anzuzeigen. Der Status eines laufenden Containers ist running.

docker ps --filter "status=running"

Dieser Befehl sollte die gleiche Ausgabe wie docker ps aus Schritt 1 anzeigen und nur den aktuell laufenden Ubuntu-Container auflisten.

Nun filtern wir nach Containern, die beendet wurden. Der Status für einen beendeten Container ist exited. Denken Sie daran, das -a-Flag zu verwenden, um alle Container zu sehen, da der Filter sonst keine beendeten Container findet, wenn sie standardmäßig nicht aufgelistet werden.

docker ps -a --filter "status=exited"

Dieser Befehl sollte den hello-world-Container anzeigen, den Sie in Schritt 1 ausgeführt haben, da sein Status "Exited" ist.

Sie können auch nach dem Containernamen filtern. Wenn Sie einen Container ohne Angabe eines Namens mit dem --name-Flag ausführen, weist Docker einen zufälligen Namen zu. Sie können den Namen Ihres laufenden Ubuntu-Containers mit docker ps ermitteln. Schauen Sie in der Spalte "NAMES" nach.

Angenommen, der Name Ihres Ubuntu-Containers lautet etwa agitated_hoover. Sie können nach diesem Namen filtern:

docker ps -a --filter "name=agitated_hoover"

Ersetzen Sie agitated_hoover durch den tatsächlichen Namen Ihres Ubuntu-Containers. Dieser Befehl listet den Container mit diesem spezifischen Namen auf, unabhängig von seinem Status (in diesem Fall sollte er jedoch laufen).

Sie können Filter auch kombinieren. Beispielsweise, um einen laufenden Container mit einem bestimmten Namen zu finden:

docker ps --filter "status=running" --filter "name=agitated_hoover"

Ersetzen Sie auch hier agitated_hoover durch den Namen Ihres Containers.

Die Filterung ist eine leistungsstarke Methode zur Verwaltung und Überprüfung Ihrer Container, insbesondere in Umgebungen mit vielen Containern.

Die Ausgabe formatieren für spezifische Informationen

In diesem Schritt lernen Sie, wie Sie die Ausgabe des docker ps-Befehls anpassen können, um nur die gewünschten Informationen anzuzeigen. Dies ist besonders nützlich für Skripte oder wenn Sie eine kompakte Übersicht Ihrer Container benötigen.

Der docker ps-Befehl unterstützt ein --format-Flag, mit dem Sie das Ausgabeformat mittels Go-Template-Syntax festlegen können.

Beginnen wir damit, nur die Container-IDs aller Container aufzulisten:

docker ps -a --format "{{.ID}}"

Dieser Befehl gibt eine Liste von Container-IDs aus (eine pro Zeile) für alle Container (laufende und beendete). {{.ID}} ist ein Go-Template-Platzhalter für die Container-ID.

Lassen Sie uns nun die Container-ID und den Image-Namen anzeigen, getrennt durch einen Tab:

docker ps -a --format "{{.ID}}\t{{.Image}}"

Die Ausgabe sollte für jeden Container [Container-ID] [Image-Name] zeigen. \t repräsentiert ein Tabulatorzeichen im Go-Template.

Weitere Felder können ebenfalls eingebunden werden. Hier sind einige häufig verwendete Felder:

  • .ID: Container-ID
  • .Image: Image-Name
  • .Command: Ausgeführter Befehl
  • .CreatedAt: Erstellungszeitpunkt
  • .Status: Container-Status
  • .Ports: Freigegebene Ports
  • .Names: Container-Namen

Zeigen wir den Container-Namen und dessen Status an:

docker ps -a --format "{{.Names}}: {{.Status}}"

Dies erzeugt eine Ausgabe wie [Container-Name]: [Status] für jeden Container.

Sie können auch das table-Format verwenden, um eine besser lesbare Ausgabe mit Kopfzeilen zu erhalten, ähnlich der Standardausgabe, aber mit nur den von Ihnen gewählten Spalten:

docker ps -a --format "table {{.ID}}\t{{.Image}}\t{{.Names}}\t{{.Status}}"

Dieser Befehl zeigt eine Tabelle mit den Spalten ID, Image, Namen und Status für alle Container an.

Die Formatierung der Ausgabe gibt Ihnen präzise Kontrolle über die angezeigten Informationen und erleichtert die Verarbeitung in Skripten oder für spezifische Berichtsanforderungen.

Speicherplatzverbrauch von Containern anzeigen

In diesem letzten Schritt lernen Sie, wie Sie den von Ihren Docker-Containern, Images und Volumes belegten Speicherplatz einsehen können. Dies ist wichtig für die Überwachung Ihrer Systemressourcen und um festzustellen, wo Docker Speicherplatz verbraucht.

Der Befehl docker system df liefert eine Übersicht über den von Docker-Objekten belegten Speicherplatz. df steht für "disk free", ähnlich dem standardmäßigen Linux-Befehl.

Führen wir den Befehl aus, um die Speichernutzung anzuzeigen:

docker system df

Die Ausgabe zeigt eine Zusammenfassung mit:

  • Images: Die Gesamtgröße aller Docker-Images auf Ihrem System.
  • Containers: Die Gesamtgröße der beschreibbaren Layer aller Container. Dies ist der Speicherplatz, der durch Änderungen im Container-Dateisystem belegt wird.
  • Local Volumes: Die Gesamtgröße aller lokalen Volumes. Volumes werden für persistente Datenspeicherung verwendet.
  • Build Cache: Die Größe des Build-Caches, der während des Image-Builds verwendet wird.

Sie sehen Spalten wie "Total", "Active", "Size" und "Reclaimable":

  • Total: Die Gesamtanzahl oder -größe der Objekte.
  • Active: Die Anzahl der aktuell verwendeten Objekte (z.B. laufende Container, von laufenden Containern verwendete Images).
  • Size: Der gesamte von den Objekten belegte Speicherplatz.
  • Reclaimable: Die Menge an Speicherplatz, die durch das Entfernen ungenutzter Objekte freigegeben werden kann.

Für eine detailliertere Ansicht können Sie das -v-Flag für eine ausführliche Ausgabe verwenden:

docker system df -v

Dies liefert eine detailliertere Aufschlüsselung, einschließlich einer Liste einzelner Images, Container und Volumes mit ihren jeweiligen Größen.

Das Verständnis der Speichernutzung von Docker ist entscheidend für die Aufrechterhaltung einer gesunden Docker-Umgebung und um zu verhindern, dass Ihr Speicherplatz voll wird. Sie können die Informationen aus docker system df nutzen, um zu entscheiden, wann Sie ungenutzte Images, Container oder Volumes bereinigen sollten.

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Befehl docker container ls (auch bekannt als docker ps) verwenden, um Docker-Container aufzulisten. Sie begannen damit, nur laufende Container mit docker ps anzuzeigen, und lernten dann, wie Sie alle Container einschließlich der beendeten mit dem -a-Flag anzeigen können.

Darüber hinaus haben Sie untersucht, wie Sie die Containerliste anhand von Kriterien wie Status und Namen mit der Option --filter filtern können. Sie haben auch gelernt, wie Sie das Ausgabeformat mit dem --format-Flag anpassen, um spezifische Informationen anzuzeigen, und wie Sie den Speicherplatzverbrauch von Containern mit dem Befehl docker system df einsehen können.