Liste nur gestoppte Docker-Container

191

Mit Docker können Sie laufende Container oder alle Container einschließlich gestoppter Container auflisten.

Dies kann erfolgen durch:

$ docker ps # To list running containers

Oder von

$ docker ps -a # To list running and stopped containers

Können wir nur Container auflisten, die gestoppt wurden?

Yogesh_D
quelle

Antworten:

310

Nur gestoppte Container können aufgelistet werden mit:

docker ps --filter "status=exited"

oder

docker ps -f "status=exited"
Yogesh_D
quelle
4
Sie können sie grepbeispielsweise auch mit docker ps -a | grep Exitedoder ähnlichem filtern .
Starikovs
23
Cool, jetzt kann ich gestoppte Container mitdocker rm $(docker ps --filter "status=exited" -q)
czerasz
2
Besser noch, erstellen Sie einen Alias ​​in Ihrem Bash-Profil und verwenden Sie ein kürzeres Schlüsselwort / einen kürzeren Befehl, um gestoppte Container zu bereinigen
Yogesh_D
21
"Docker Container Prune" kann seit 1.25 verwendet werden. Ich glaube, gestoppte Container zu entfernen
Paul
38

Der typische Befehl lautet:

docker container ls -f 'status=exited'

Dies listet jedoch nur einen der möglichen nicht laufenden Status auf. Hier ist eine Liste aller möglichen Status:

  • erstellt
  • Neustart
  • Laufen
  • entfernen
  • hielt inne
  • verlassen
  • tot

Sie können nach mehreren Status filtern, indem Sie mehrere Filter nach dem Status übergeben:

docker container ls -f 'status=exited' -f 'status=dead' -f 'status=created'

Wenn Sie dies in ein automatisches Bereinigungsskript integrieren, können Sie einen Befehl mit einer Bash-Syntax an einen anderen verketten, nur die Container-IDs mit ausgeben -qund sich auch auf die Container beschränken, die mit einem Exit-Code-Filter erfolgreich beendet wurden:

docker container rm $(docker container ls -q -f 'status=exited' -f 'exited=0')

Weitere Informationen zu den verwendeten Filtern finden Sie in der Docker-Dokumentation: https://docs.docker.com/engine/reference/commandline/ps/#filtering

BMitch
quelle
8
docker container list -f "status=exited"

oder

docker container ls -f "status=exited"

oder

 docker ps -f "status=exited"
Artur Karbone
quelle