รายการหยุดภาชนะบรรจุนักเทียบท่าเท่านั้น


193

นักเทียบท่าช่วยให้คุณแสดงรายการคอนเทนเนอร์ที่รันอยู่หรือคอนเทนเนอร์ทั้งหมดรวมถึงคอนเทนเนอร์ที่หยุดทำงาน

สามารถทำได้โดย:

$ 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 ฉันเชื่อว่าจะเอาภาชนะที่หยุดแล้วออกไป
พอล

38

คำสั่งทั่วไปคือ:

docker container ls -f 'status=exited'

อย่างไรก็ตามรายการนี้จะแสดงสถานะที่ไม่สามารถทำงานได้อย่างใดอย่างหนึ่งเท่านั้น นี่คือรายการสถานะที่เป็นไปได้ทั้งหมด:

  • สร้าง
  • เริ่มต้นใหม่
  • วิ่ง
  • ลบ
  • หยุดชั่วคราว
  • เดินออกมาจาก
  • ตาย

คุณสามารถกรองสถานะได้หลายสถานะโดยผ่านตัวกรองหลายตัวตามสถานะ:

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

หากคุณกำลังรวมสิ่งนี้เข้ากับสคริปต์การล้างข้อมูลอัตโนมัติคุณสามารถโยงคำสั่งหนึ่งไปยังอีกคำสั่งด้วยไวยากรณ์ bash บางเอาต์พุตเพียงแค่ ID คอนเทนเนอร์ด้วย-qและคุณยังสามารถ จำกัด เฉพาะคอนเทนเนอร์ที่ออกจากตัวกรองรหัสทางออกได้สำเร็จ:

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

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับตัวกรองที่คุณสามารถใช้ได้โปรดดูเอกสารประกอบของ Docker: https://docs.docker.com/engine/reference/commandline/ps/#filtering


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.