Daftar hanya menghentikan wadah Docker

193

Docker memberi Anda cara daftar kontainer yang berjalan atau semua kontainer termasuk yang berhenti.

Ini dapat dilakukan dengan:

$ docker ps # To list running containers

Atau oleh

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

Apakah kita hanya memiliki cara daftar kontainer yang telah dihentikan?

Yogesh_D
sumber

Jawaban:

313

Hanya kontainer yang berhenti yang dapat didaftar menggunakan:

docker ps --filter "status=exited"

atau

docker ps -f "status=exited"
Yogesh_D
sumber
4
Juga, Anda dapat memfilternya dengan grepcontoh docker ps -a | grep Exitedatau sesuatu seperti itu.
starikovs
23
Keren, sekarang saya dapat menghapus kontainer yang dihentikan dengandocker rm $(docker ps --filter "status=exited" -q)
czerasz
2
lebih baik lagi buat alias di profil bash Anda dan gunakan kata kunci / perintah yang lebih pendek untuk membersihkan kontainer yang dihentikan
Yogesh_D
21
"docker container prune" dapat digunakan sejak 1.25 Saya percaya untuk menghapus kontainer yang dihentikan
paul
38

Perintah tipikal adalah:

docker container ls -f 'status=exited'

Namun, ini hanya akan mencantumkan salah satu dari status tidak berjalan yang mungkin. Berikut daftar semua status yang memungkinkan:

  • dibuat
  • memulai kembali
  • berlari
  • menghapus
  • dijeda
  • keluar
  • mati

Anda dapat memfilter pada beberapa status dengan melewati beberapa filter pada status:

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

Jika Anda mengintegrasikan ini dengan skrip pembersihan otomatis, Anda dapat menghubungkan satu perintah ke perintah lain dengan beberapa sintaks bash, hanya menampilkan id wadah -q, dan Anda juga dapat membatasi hanya kontainer yang keluar dengan sukses dengan filter kode keluar:

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

Untuk detail lebih lanjut tentang filter yang dapat Anda gunakan, lihat dokumentasi Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering

BMitch
sumber
8
docker container list -f "status=exited"

atau

docker container ls -f "status=exited"

atau

 docker ps -f "status=exited"
Artur Karbone
sumber