Dockerのゴミが溜まりすぎる

二つのサーバに同じようにDockerを入れて同じように運用しているのだが、一方のサーバには、どんどんとゴミが溜まっていって、うっかりしていると(ディスク容量不足の自動通知などをしていないと)、満杯になってしまい、システムが動作しなくなってしまう。

ログの削除

前者の「containers/id/id-json.log」というログファイルについては以下。

肥大化してしまったdockerコンテナのログを消し去る方法

これは、後でいつでもログを見れるようにログ内容すべてを吐き出し続けるらしい。「v1.9現在、json-fileログドライバーにはmax-sizeオプションがあるので、これを設定できる環境ではしておくのが正しい対策」とあるので、これを行っておく。しかし、設定ファイルはどこに?

Dockerの設定ファイルはどこ!!

AlmaLinux9の場合、/etc/dockerフォルダには、key.jsonしかないのだが、ここにdaemon.jsonを作ってしまって良いらしい。

ところが、Docker daemon.jsonにlog max-sizeを指定しても既存テナントには適用されないという話がある。

面倒なので、とりあえず「cat /dev/null > *-json.log」としておく。

overlay2の削除

Dockerの肥大化したoverlay2ストレージの問題の解決方法

どうも、overlay2フォルダ自体の削除以外は効果がないようだ。ここには、フォルダ削除は慎重に行う必要があるとあるが、ここに必要データなど置いていないので(そのようにしてあるはずなので)構わない。しかし、ログ削除だけでとりあえず容量が大幅に回復したのでよしとする。