うちには、Ubuntuのサーバーがあって、こいつに、Gitlabを入れてCICDの環境を作ってある。まぁおうちプロジェクトの開発環境の一環として。で、このサーバーのディスクがあふれたので、そのメモ。
コードを書いてから、こいつにpushすると、CICDが走り出す。CICDでは、ビルドしてDockerのイメージを作ったり、単体テスト走らせて、その結果を記録してる。
このへんのサーバーは、インストールが面倒なんで全部Docker上で走らせてる。
で、今日、コードをpushしたらC#の単体テストの途中で、
System.IO.IOException: No space left on device. Aborting test execution.
なんでやねん。
あわてて、sshでログインして、dfすると、ディスクがいっぱい。
なんでやねん。ここ1TBあるやずやで。
ncduというコンソールで走るGUIツールで、どのディレクトリがでかいのか探す。
/var/lib/docker/overlay2 が犯人。なんでこんなでかいねん。CICDで作ったイメージが大量になってるかと思って、ちまちまイメージを削除。あれ?イメージじゃないぞ。そんなにたくさんないって。
docker system df
ってやると、dockerがどの内容をディスクに保存してるか表示される。なんだよ、Build Cacheって。Build Cacheが大爆発してる。
docker builder prune
で、とりあえず、Build Cacheを大量削除。
復活しました。