Wie listen Sie alle auf Ihrem System vorhandenen Docker-Container auf?
Dafür gibt es zwei Möglichkeiten:
- Mit
docker ps
Befehl (ältere und beliebte Methode) - Mit
docker container
Befehl (neuere und weniger bekannte Methode)
Lassen Sie mich kurz die Befehle mit den gängigsten Beispielen für Ihre schnelle Referenz auflisten.
ps-Befehl | Container-Befehl | Befehlsanzeigen |
---|---|---|
Docker-PS | Docker-Container-LS | laufende Container |
docker ps -a | Docker-Container ls -a | alle Container |
docker ps -f "status=beendet" | docker container ls -f "status=beendet" | angehaltene Container |
docker ps -q | Docker-Container ls -q | ID der laufenden Container |
docker ps -l | Docker-Container ls -l | zuletzt erstellter Container |
Wie Sie sehen können, sind beide ps
und container
Befehle sind mit ihren Optionen identisch.
Da Docker Befehle jedoch ordentlich organisieren möchte, empfiehlt es sich, den docker container ls
zu verwenden Befehl.
Aus diesem Grund verwende ich docker container ls
Befehl in den detaillierten Beispielen.
Ausgeführte Docker-Container anzeigen
Ohne Optionen sehen Sie nur die laufenden Container.
docker container ls
Die Ausgabe ist detailliert:
[email protected]:~$ docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03e48cb07ea ubuntu "bash" 8 seconds ago Up 6 seconds ubuntu-c-1
93f84eb0f579 alpine "/bin/sh" 23 seconds ago Up 22 seconds alp_con2
Wenn Sie diese Ausgabe zum ersten Mal sehen, lassen Sie mich die verschiedenen Elemente der Ausgabe erläutern:
Container ID
- Eindeutige numerische ID zur Identifizierung eines ContainersImage
- Docker-Image, das den Container erstellt hatCommand
- Der Standardbefehl, der beim Starten eines Containers ausgeführt wirdCreated
- Relative Zeit, zu der der Container erstellt wurdeStatus
- Der Zustand des Containers (wird später erklärt)Ports
- Veröffentlichte Ports des ContainersName
- Name des Behälters. Wenn keiner angegeben wird, wird trotzdem ein zufälliger Name zugewiesen.
Alle Docker-Container auflisten
Wenn Sie alle Container auf Ihrem System sehen möchten, verwenden Sie die Option -a
.
docker container ls -a
Hier ist eine Beispielausgabe und Sie können sehen, dass jetzt auch mehrere gestoppte Container angezeigt werden.
[email protected]:~$ docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f03e48cb07ea ubuntu "bash" 37 minutes ago Up 37 minutes ubuntu-c-1
93f84eb0f579 alpine "/bin/sh" 37 minutes ago Up 37 minutes alp_con2
1c1c04a84186 alpine "bash" 38 minutes ago Created alp_con
6fbc4bf4897b ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_hofstadter
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
853e748608bc hello-world "/hello" 2 hours ago Exited (0) 2 hours ago stoic_engelbart
Nur gestoppte Container anzeigen
Wenn Sie nur die angehaltenen Container auflisten möchten, können Sie die Ausgabe nach exited
filtern Status.
docker container ls --filter "status=exited"
Hier ist die gefilterte Ausgabe:
[email protected]:~$ docker container ls --filter "status=exited"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
6fbc4bf4897b ubuntu "/bin/bash" 2 hours ago Exited (0) 2 hours ago fervent_hofstadter
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
853e748608bc hello-world "/hello" 2 hours ago Exited (0) 2 hours ago stoic_engelbart
Der exited
state ist für angehaltene Container. Es gibt ein paar weitere Status für die Container, die Sie für verschiedene Zwecke verwenden können:
created
- Ein Container, der erstellt, aber nicht gestartet wurderestarting
- Ein Container, der gerade neu gestartet wirdrunning
- Ein laufender Containerpaused
- Ein Container, dessen Prozesse angehalten wurdenexited
- Ein angehaltener Containerdead
- Ein Container, der versucht wurde, angehalten zu werden, aber fehlgeschlagen ist
Tatsächlich ist die Filterung nicht auf den Status beschränkt, Sie können auch nach anderen Elementen der Ausgabe der Containerliste filtern, wie z. B. Container-ID, Name oder Bild. Das nächste Beispiel verwendet dieses Konzept.
Container anzeigen, die einem Bild zugeordnet sind
Sie können Filter verwenden, um alle mit einem bestimmten Bild verknüpften Container nur mit dem ancestor
anzuzeigen filtern.
docker container ls -a --filter "ancestor=image_name"
Hier ist eine Ausgabe, die alle Container anzeigt, die dem Docker-Image von Alpine Linux zugeordnet sind.
[email protected]:~$ docker container ls -a --filter "ancestor=alpine"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
93f84eb0f579 alpine "/bin/sh" 48 minutes ago Up 48 minutes alp_con2
1c1c04a84186 alpine "bash" 49 minutes ago Created alp_con
8b9565ba7661 alpine "/bin/sh" 2 hours ago Exited (0) 2 hours ago beautiful_williamson
Nur Container-ID anzeigen
Haben Sie bemerkt, dass alle oben genannten Befehle detaillierte Ausgaben für die Container haben?
Wenn Sie die zusätzlichen Informationen wie Containername, zugehöriges Image und seinen Status nicht benötigen, können Sie die stille Option -q
verwenden .
Zum Beispiel, wenn ich den -q
verwende Option im vorherigen Beispiel gibt es mir nur die IDs aller Container, die Alpine Linux zugeordnet sind.
[email protected]:~$ docker container ls -a -q --filter "ancestor=alpine"
93f84eb0f579
1c1c04a84186
8b9565ba7661
Dies ist praktisch in Situationen wie dem Entfernen aller Container eines Docker-Images.
Nun, das reicht für dieses Docker-Tutorial. Ich denke, ich habe genug Anwendungsfälle für das Auflisten von Containern in Docker erwähnt. Abonnieren Sie weitere solcher Tutorials.