กำลังแก้ script Dockerfile สลับกับการ build อยู่ดีๆ ก็เจอข้อความ **No space left on device**
ไปต่อไม่ได้แล้ว ประมาณว่าพื้นที่ที่ docker ใช้ในการสร้าง file ต่างๆมันเต็มโควต้าแล้ว
ใช้ 3 คำสั่งนี้ แล้วทำให้มีพื้นที่คืนกลับมา สั่ง build งานต่อได้เสมอ
1 ลบ file ของ container ที่มีสถานะ exited
docker rm $(docker ps -q -f 'status=exited')
2 ลบ file image ที่(ห้อยต่องแต่ง)ไม่มีการอ้างอิงถึง
docker rmi $(docker images -q -f "dangling=true")
3 ลบตัว disk/volume ที่ไม่มีการอ้างอิงถึง บางครั้งสั่งคำสั่งนี้อาจจะไม่ได้ลบอะไรเลย ต้องสั่ง 2 ตัวข้างบนก่อน
docker volume rm $(docker volume ls -qf dangling=true)
_** ถ้า upgrade docker CE เป็น version 17.12.0-ce-mac47 2018-01-12
แล้วเราจะไปเปลี่ยนขนาดของ disk ที่ docker สามารถใช้ได้ได้เองแล้ว ไปที่ Preferences_
ถ้าใช้ docker ตั้งแต่ version 1.13 เป็นต้นมา สามารถใช้คำสั่ง docker system prune
เพื่อลบไฟล์ที่อาจจะไม่ได้ใช้งานแล้วออก
❯ docker system prune
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all build cache