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

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

Это можно сделать с помощью:

$ docker ps # To list running containers

или

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

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

Ответ 1

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

docker ps --filter "status=exited"

или

docker ps -f "status=exited"

Ответ 2

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

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

Ответ 3

docker container list -f "status=exited"

или

docker container ls -f "status=exited"

или

 docker ps -f "status=exited"