Список только остановленных контейнеров Docker

193

Docker дает возможность перечисления запущенных контейнеров или всех контейнеров, включая остановленные.

Это может быть сделано:

$ docker ps # To list running containers

Или

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

У нас есть способ только перечисления контейнеров, которые были остановлены?

Yogesh_D
источник

Ответы:

313

Только остановленные контейнеры могут быть перечислены с помощью:

docker ps --filter "status=exited"

или

docker ps -f "status=exited"
Yogesh_D
источник
4
Кроме того, вы можете отфильтровать их, grepнапример docker ps -a | grep Exitedили что-то в этом роде.
Стариков
23
Круто, теперь я могу удалить остановленные контейнеры сdocker rm $(docker ps --filter "status=exited" -q)
czerasz
2
еще лучше создайте псевдоним в своем профиле bash и используйте более короткое ключевое слово / команду для очистки остановленных контейнеров
Yogesh_D
21
"docker container prune" можно использовать начиная с версии 1.25. Я считаю, что для удаления остановленных контейнеров
Пол
38

Типичная команда:

docker container ls -f 'status=exited'

Тем не менее, это будет только один из возможных неработающих статусов. Вот список всех возможных статусов:

  • созданный
  • повторный запуск
  • Бег
  • удаление
  • приостановленное
  • возбужденном
  • мертвых

Вы можете фильтровать несколько статусов, передавая несколько фильтров статуса:

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

Если вы интегрируете это со сценарием автоматической очистки, вы можете связать одну команду с другой с некоторым синтаксисом bash, вывести только идентификаторы контейнера с -q, и вы также можете ограничиться только контейнерами, которые успешно вышли с помощью фильтра кода выхода:

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

Дополнительные сведения о фильтрах, которые вы можете использовать, см. В документации Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering.

BMitch
источник
8
docker container list -f "status=exited"

или

docker container ls -f "status=exited"

или

 docker ps -f "status=exited"
Артур Карбон
источник