Ответ 1
Только остановленные контейнеры могут быть перечислены с помощью:
docker ps --filter "status=exited"
или
docker ps -f "status=exited"
Docker дает возможность перечислять запущенные контейнеры или все контейнеры, включая остановленные.
Это можно сделать с помощью:
$ docker ps # To list running containers
или
$ docker ps -a # To list running and stopped containers
У нас есть способ только перечислять контейнеры, которые были остановлены?
Только остановленные контейнеры могут быть перечислены с помощью:
docker ps --filter "status=exited"
или
docker ps -f "status=exited"
Типичная команда:
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
docker container list -f "status=exited"
или
docker container ls -f "status=exited"
или
docker ps -f "status=exited"