我们知道docker image prune
有一个--filter
参数,可以用来选择(和删除)超过给定小时数的图像(例如--filter "until=7*24h"
)。
我们还知道docker images
有一个类似的--filter
参数,它支持before
键(例如docker images --filter "before=ubuntu:22.04"
),但只能过滤在给定图像或引用(不是日期)之前创建的图像。
但是如上所述的修剪将适用于 * 所有 * 容器,这太宽泛了。如果我们想更有选择性地修剪“旧”图像,将修剪限制在仅单个容器的图像上(例如,为了备用旧的基本容器等),该怎么办?
1条答案
按热度按时间aelbi1ox1#
我想到了一个看起来很丑,但显然相当有效的方法。
下面的示例将(强制)删除
mirekphd/ml-cache
容器中2周(此实现适用的最短时间段-但可以调整为任何时间段)之前的所有映像(注意:作为特殊情况,它可以移除该容器的所有图像):