如何根据过去的使用情况删除旧的Docker镜像

qlfbtfca  于 2023-04-11  发布在  Docker
关注(0)|答案(2)|浏览(191)

我知道如何删除N天前创建的旧Docker镜像。See here
但我真正想做的是删除过去N天未使用的旧Docker镜像。
目标是保留经常使用的图像,即使在我进行清理时没有容器实际使用它们。
这可能吗?

frebpwbc

frebpwbc1#

这并不简单,因为docker不跟踪使用时间戳,只跟踪创建。因此内置命令不能根据使用情况做出决定。
一个旧的但定期活动的票证可以解决此问题,它是https://github.com/moby/moby/issues/4237
我知道有两个独立的程序试图解决这个问题,它们都监视Docker事件流来创建自己的容器使用日志。
docuum将磁盘使用保持在设定的限制内,如果超过该限制,则按使用删除最旧的映像https://github.com/stepchowfun/docuum
docker-gc删除X时间内未使用的任何图像。当docker-gc文档提到age时,它意味着自上次使用https://github.com/docwhat/docker-gc以来的时间

bvhaajcl

bvhaajcl2#

我能想到的最接近的东西是docker image prune -a --filter "until=24h",它删除至少24小时前创建的所有未使用的图像。
有关更多参考,您可以查看Docker PruningDocker System Prune文档。

相关问题