DockerでVolumeの容量が増え続けていたときの対処
普段使っているラップトップはSSD256GBなのだが、近頃ディスク使用量が90%越えてしまい、どうにかせねばと思っていました。ディスクの内訳を調べてみると、dockerのvolumeが溜まりまくっていたことがわかりました。
調査
sudo du -hs /*
からはじめて、大きいディレクトリを手動再帰で調べました。自動化するほどでもなく、容量を食っているディレクトリは簡単に見つかりました。
130G /var/lib/docker
これは…SSD全容量の半分以上食ってるやんけ……
さらに調べるともう削除したはずのコンテナの、volumeコンテナであることがわかりました。
条件はよくわかりませんが、ある用途で使っているコンテナで使ったvolumeが残り続けてしまっているみたいです。
そのコンテナはちょいちょい新しく作り直していたので、その度にvolumeが増えていく。
削除方法
たまに
docker system prune
は実行しているのですが、これだと消えていないようです。
代わりにこちらのコマンドで削除できました。
docker volume rm $(docker volume ls -qf dangling=true)
dangling=trueなので、他のコンテナに紐付いていないvolumeだけが削除されます、たぶん。
消えたら作り直せばいいコンテナしかなかったので、気楽に実行しました。
これで130GBもあったディレクトリはほとんど空になり、空き容量が50%は以下。しばらくはディスク容量のことは忘れられます。
参考
Docker関連の削除コマンド集: https://qiita.com/boiyaa/items/9972601ffc240553e1f3
本記事で利用した削除方法: http://zashikiro.hateblo.jp/entry/2016/08/16/201633
追記
docker system prune -a
これを使うべきなようです。