如何从 Docker 缓存中删除最近最少使用的图像层?

如何从 Docker 缓存中删除最近最少使用的图像层?

我希望 (1) 避免由于 Docker 缓存填满而导致磁盘空间不足,以及 (2) 能够轻松地从这种情况中恢复,而无需丢弃最近使用的缓存对象。为此,如果某个命令可以删除所有未使用的缓存对象,那就太好了用过的几周后。我了解到以下情况:

docker image prune -a --force --filter "until=240h"

但如果我没记错的话,上述命令会删除任何超过 10 天(240 小时)的基础镜像或层,即使我们仍在积极使用它。相反,我们希望删除在开发过程中创建的不再使用的额外层。当然,我们也想删除不再使用的下载的基础镜像。然后我们可以每晚运行这样的命令,从此过上幸福的生活。

简单来说,我们如何才能将 Docker 的缓存变成 LRU 缓存?

答案1

文献将对 docker 镜像进行 LRU 驱逐。Docker 本身不存储上次使用日期,因此 Docuum 会监控镜像使用情况并自行存储必要的状态。

相关内容