より長続きするブログ

続けていきたい気持ち。

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

これを使うべきなようです。