อัปเดตเดือนกันยายน 2559: นักเทียบท่า 1.13: PR 26108และยอมรับ 86de7c0แนะนำคำสั่งใหม่ไม่กี่คำเพื่อช่วยให้เห็นภาพว่าพื้นที่ข้อมูล daemon นั้นมีเนื้อที่เท่าไรในดิสก์และช่วยให้ทำความสะอาดส่วนเกิน
docker system prune
จะลบข้อมูลที่ห้อยอยู่ทั้งหมด (เช่นตามลำดับ: คอนเทนเนอร์หยุดทำงานวอลุ่มที่ไม่มีคอนเทนเนอร์และรูปภาพที่ไม่มีคอนเทนเนอร์) แม้แต่ข้อมูลที่ไม่ได้ใช้พร้อม-a
ตัวเลือก
คุณมี:
สำหรับภาพที่ไม่ได้ใช้ให้ใช้docker image prune -a
(สำหรับการลบภาพห้อยและภาพที่ไม่มีการตัดออก)
คำเตือน: ' ที่ไม่ได้ใช้ ' หมายถึง "ภาพไม่ได้อ้างถึงโดยภาชนะใด ๆ": -a
ต้องระวังก่อนที่จะใช้
ดังแสดงในอลาบาม่า 's คำตอบ , docker system prune --all
จะลบทั้งหมดที่ไม่ได้ใช้ภาพที่ไม่ได้เป็นเพียงห้อยคน ... ซึ่งสามารถเป็นบิตมากเกินไป
การรวมdocker xxx prune
กับ--filter
ตัวเลือกอาจเป็นวิธีที่ดีในการ จำกัด การตัด ( นักเทียบท่า SDK API ขั้นต่ำ 1.28 ดังนั้นนักเทียบท่า 17.04+ )
ตัวกรองที่รองรับในปัจจุบันคือ:
until (<timestamp>)
- ลบเฉพาะตู้คอนเทนเนอร์รูปภาพและเครือข่ายที่สร้างก่อนเวลาที่กำหนด
label
( label=<key>
, label=<key>=<value>
, label!=<key>
หรือlabel!=<key>=<value>
) - ลบภาชนะบรรจุภาพเครือข่ายและไดรฟ์ที่มี (หรือโดยไม่ได้ในกรณีที่label!=...
มีการใช้งาน) ฉลากระบุ
ดู " ภาพตัด " สำหรับตัวอย่าง
คำตอบเดิม (กันยายน 2016)
ฉันมักจะทำ:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
ฉันมีนามแฝงสำหรับการลบ [รูปภาพห้อย] 13 :drmi
dangling=true
กรองพบว่าภาพที่ไม่ได้ใช้
ด้วยวิธีนี้ภาพกลางใด ๆ ที่ไม่ได้อ้างถึงโดยภาพที่มีป้ายกำกับจะถูกลบออก
ฉันทำเช่นเดียวกันก่อนสำหรับกระบวนการที่ออก (คอนเทนเนอร์)
alias drmae='docker rm $(docker ps -qa --no-trunc --filter "status=exited")'
ในฐานะที่เป็นharidsvชี้ให้เห็นในความคิดเห็น :
เทคนิคแรกคุณควรทำความสะอาดภาชนะบรรจุก่อนการทำความสะอาดภาพเช่นนี้จะจับภาพห้อยมากขึ้นและมีข้อผิดพลาดน้อย
Jess Frazelle (jfrazelle)มีฟังก์ชั่น bashrc :
dcleanup(){
docker rm -v $(docker ps --filter status=exited -q 2>/dev/null) 2>/dev/null
docker rmi $(docker images --filter dangling=true -q 2>/dev/null) 2>/dev/null
}
หากต้องการลบภาพเก่าไม่ใช่เฉพาะภาพที่ "ไม่ปลอดภัย" คุณสามารถพิจารณาdocker-gc
:
คอนเทนเนอร์ Docker แบบง่ายและสคริปต์การรวบรวมขยะของรูปภาพ
- ภาชนะบรรจุที่ออกจากเกินกว่าหนึ่งชั่วโมงที่ผ่านมาจะถูกลบออก
- รูปภาพที่ไม่ได้เป็นของคอนเทนเนอร์ที่เหลืออยู่หลังจากนั้นจะถูกลบออก
"dangling=true"
หมายจริง ๆ หรือไม่?