結論
cat /dev/null > /var/lib/docker/containers/${container_id}/${container_id}-json.log
/dev/null を流し込む
状況
dockerコンテナを運用するときに、たとえばログをホストに受け渡すために標準出力を利用することがある。docker logs
でログが見られるようになるので便利なのだが、このログ、デフォルトでは永遠に肥大化し続けるので、だんだんディスクを圧迫してしまう。
これをお掃除しようと思った時、このファイルはホスト側の/var/lib/docker/containers
以下に有るのだが、それ以外にコンテナ側からも参照されているため、rmコマンドで上記のパスを削除しても開放されない。そこで手っ取り早く /dev/null を流し込むのが楽。
max-size
ちなみにv1.9現在、json-fileログドライバーにはmax-sizeオプションがあるので、これを設定できる環境ではしておくのが正しい対策では有る(https://docs.docker.com/engine/reference/logging/overview/)。