はじめに
Dockerのビルドサーバーでストレージ不足が発生しました。
不要なファイルを削除する必要があるため、安全に容量を確保する方法を紹介します。
dockerで/var/lib/docker/overlay2 が肥大化した時の対処になります。
まず対応すべきこと
現状把握
Dockerがディスク容量を圧迫している原因を確認するため、以下のコマンドを使用します。
docker system df
このコマンドで、Dockerに関連するディスク使用状況を確認できます。
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 9 1 2.014GB 1.962GB (97%)
Containers 2 0 0B 0B
Local Volumes 4 2 824.6MB 781.2MB (94%)
Build Cache 0 0 0B 0B
対処
使用されていないコンテナ、ボリューム、ネットワーク、イメージを削除するには、以下のコマンドを使用します。
docker system prune
ただし、使用されていないボリュームとイメージを削除するには、以下のオプションが必要です。docker system prune --volumes --all
volumesの削除
上記コマンドで、不要なvolumesを削除しました。この操作で、355.4MBの容量を確保できます。ただし、storageの削除には、–volumesオプションを追加する必要があります。
53d15cd6b78ad0f21788a22e9ce16a7295c4bab97609973
deleted: sha256:7ae9338aed73a0f33568db53740431038d3a1f779c4dae40d27433984e1cd97c
deleted: sha256:b1be54c8cadff1e50b87b93559320a1ae57b8d0dd326507148f7ca81d707beed
deleted: sha256:86d78f10b9718618eaae056f5dfa1edae518949aee4578e4147268e9db2e75f0
Total reclaimed space: 355.4MB
ただし、storageの削除には、 --volumes
オプションを追加する必要があります。
imagesの削除
docker system prune --all
作業後
上記の操作を完了した後、Dockerのディスク使用状況を再度確認すると、すべてのカテゴリーで容量が0になります。