Список лише зупинених контейнерів Docker


193

Docker надає спосіб перерахування запущених контейнерів або всіх контейнерів, включаючи зупинені.

Це можна зробити:

$ docker ps # To list running containers

Або мимо

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

Чи є у нас спосіб перерахування лише контейнерів, які були зупинені?

Відповіді:


313

Лише зупинені контейнери можуть бути перелічені за допомогою:

docker ps --filter "status=exited"

або

docker ps -f "status=exited"

4
Крім того, ви можете фільтрувати їх, grepнаприклад, docker ps -a | grep Exitedчи щось подібне.
starikovs

23
Класно, зараз я можу видалити зупинені контейнери зdocker rm $(docker ps --filter "status=exited" -q)
czerasz

2
ще краще створити псевдонім у своєму баш-профілі та використати коротше ключове слово / команду для очищення зупинених контейнерів
Yogesh_D

21
«Докер контейнер чорнослив» може бути використаний з 1,25 Я вважаю , щоб видалити зупинені контейнери
Paul

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


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.