Proxmox VE クラスタで Docker アプリケッションを動かす方法、永遠に悩んでいる
PVE 物理ノードに直接置くのは勿論嫌だし、 VM を立てるにしても LXC を立てるにしても /var/lib/docker が肥大化していくのをメンテするスクリプトを書くのがダルいし、 k8s を上に載せるほど高度の柔軟性が欲しいわけでもない (むしろネットワークまわりや HA の管理とかは PVE にやらせたい)
docker system prune | Docker Docs
https://docs.docker.com/reference/cli/docker/system/prune/
> until (`<timestamp>`) - only remove containers, images, and networks created before given timestamp
これ「created before given timestamp」であって、つまり作成時刻でのフィルタなので「最後に使われたのが1週間以上前」とかには使えないんですわ。マジかよ。
いやわかるんだよ、 TOCTOU 的なタイミング問題がありうるのは。削除しようとしたまさにそのイメージが prune コマンドを起動した後に使われる可能性だってある。
でもそれならそれで汎用の prune 機能にしなくていいから実用的な garbage collection くらい用意しといてほしい