Lista tylko zatrzymała kontenery Docker

193

Docker pozwala wyświetlić listę uruchomionych kontenerów lub wszystkich kontenerów, w tym zatrzymanych.

Można to zrobić przez:

$ docker ps # To list running containers

Lub przez

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

Czy istnieje sposób wyświetlania tylko tych kontenerów, które zostały zatrzymane?

Yogesh_D
źródło

Odpowiedzi:

313

Tylko zatrzymane pojemniki można wyświetlić za pomocą:

docker ps --filter "status=exited"

lub

docker ps -f "status=exited"
Yogesh_D
źródło
4
Możesz też je filtrować grepna przykład docker ps -a | grep Exitedlub coś w tym rodzaju.
starikovs
23
Fajnie, teraz mogę usunąć zatrzymane pojemniki za pomocądocker rm $(docker ps --filter "status=exited" -q)
czerasz
2
lepiej jeszcze utwórz alias w swoim profilu bash i użyj krótszego słowa kluczowego / polecenia, aby wyczyścić zatrzymane pojemniki
Yogesh_D
21
„śliwki kontenera dokowanego” można używać od 1.25. Wydaje mi się, że usuwam zatrzymane pojemniki
Paweł
38

Typowe polecenie to:

docker container ls -f 'status=exited'

Spowoduje to jednak wyświetlenie tylko jednego z możliwych stanów niedziałania. Oto lista wszystkich możliwych statusów:

  • Utworzony
  • restartowanie
  • bieganie
  • usuwanie
  • zatrzymał się
  • wyszedł
  • nie żyje

Możesz filtrować według wielu statusów, przekazując wiele filtrów statusu:

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

Jeśli integrujesz to ze skryptem automatycznego czyszczenia, możesz połączyć jedno polecenie z drugim za pomocą składni bash, wypisać tylko identyfikatory kontenera za pomocą -q, a także możesz ograniczyć się tylko do kontenerów, które zakończyły się pomyślnie z filtrem kodu wyjścia:

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

Aby uzyskać więcej informacji na temat filtrów, których możesz użyć, zobacz dokumentację Dockera: https://docs.docker.com/engine/reference/commandline/ps/#filtering

BMitch
źródło
8
docker container list -f "status=exited"

lub

docker container ls -f "status=exited"

lub

 docker ps -f "status=exited"
Artur Karbone
źródło