การเรียนรู้ docker เราก็จะมีการทดสอบ pull image มา แล้ว run เป็น container รวมทั้งอาจมีการสร้างพื้นที่เก็บข้อมูลที่เรียกว่า volumes (ทั้งแบบ named volume และ anonymous volume) บ่อยครั้งเมื่อเราใช้คำสั่งตรวจสอบ เราจะพบว่ามีอะไรไม่รู้หลงเหลืออยู่กินเนื้อที่ไปเยอะ
ตรวจสอบรายการ container
$ docker ps -a
ลบ containers ที่ไม่ใช้งานแล้ว
$ docker ps --filter status=dead --filter status=exited --filter status=created -aq | xargs -r docker rm -v
หมายเหตุ คำสั่งด้านบนนี้จะลบ data containers ด้วย ถ้ามีการสร้าง container ชนิดเก็บ data โปรดตรวจสอบให้ดีนะ ปัจจุบัน data container นั้น deprecated (ไม่แนะนำให้ใช้งาน)
ตรวจสอบรายการ images
$ docker images
ลบ images ที่ไม่ใช้งานแล้ว
$ docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi
ตรวจสอบรายการ volumes
$ docker volumes ls
ลบ volume ที่ไม่ถูกใช้งานโดย container ใด ๆ เลย
$ docker volume ls -q -f dangling=true | xargs -r docker volume rm
หรือจะใช้อีกแบบ แต่ต้องติดตั้ง jq เพิ่มด้วย
$ sudo apt install jq
$ docker ps -aq | xargs docker inspect | jq -r '.[] | .Mounts | .[] | .Name | select(.)'
References: