คำสั่งลบ Image ที่ไม่มี Tag ทั้งหมดของ Docker

สำหรับคนที่เคยใช้ Docker มาจะมีปัญหาคือเวลาสร้าง Image แล้วสร้างไม่สำเร็จจะมี Image ที่ไม่มี Tag เกิดขึ้นมามากมาย ส่วนใหญ่จะเป็นตอนที่เรากำลังเขียนอ Docker File อยู่ ซึ่ง Image เหล่านี้เราไม่สามารถลบได้ด้วยคำสั่ง Docker rmi <tag> เพราะว่ามันไม่มีชื่อ Tag ทำให้เราเสียพื้นที่เก็บไฟล์ Image ที่ไม่ได้ใช้งานเยอะไปหมด วันนี้เลยจะมาแนะนำวิธีลบ Image ที่ไม่มี Tag เหล่านี้

คำสั่งสำหรับลบ Image ที่ไม่มี Tag (Untagged image)

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")

เป็นการรวมคำสั่ง docker rmi ที่เราใช้ปรกติ บวกไปด้วยคำสั่ง Shell เพื่อดึง image ที่ไม่มีชื่อออกมา

คำสั่งสำหรับหยุด Container ทั้งหมด

docker stop $(docker ps -aq)


คำสั่งสำหรับลบ Container ทั้งหมด

docker rm $(docker ps -aq)

คำสั่งนี้ก็ใช้บ่อยเช่นเดียวกัน โดยเฉพาะตอนที่เราสร้าง Container เต็มไปหมดแล้วอยากลบมันให้ออกไปจากสารบบของเรา จริงแล้วมันก็คือการใช้คำสั่ง Docker ปรกติมารวมกับการประกาศตัวแปรใน Shell ก่อนจะลบต้องหยุดก่อน


คำสั่งพวกนี้ได้ผมใช้ตลอดบางทีก็ขึ้เกียจพิมพ์ก็จะเขียนเป็น shell script เอาไว้ บางทีก็ลืมเลยมาเขียนเตือนความจำเอาไว้หวังว่าคงเป็นประโยชน์กันนะครับ

author
นันทวัฒน์ ไชยรัตน์

สวัสดีครับผมเป็นโปรแกรมเมอร์ที่ทำงานมาหลายที่ เปลี่ยนมาหลายสายงานครับเลยพอจะมีประสพการณ์มาเขียนบทความหลายๆเรื่องครับ ผมชอบลองทำอะไรใหม่ๆครับบางครั้งลองไปก็ลืมเลยต้องหาที่จดครับ เลยมาขอจดไว้ที่เว็บนี้ครับ