首页 > 解决方案 > 如何删除早于 X 且未使用的 docker 映像

问题描述

我在服务器上的磁盘空间不足,并docker images显示了 6 个月前的一些容器,但与 2 年前一样旧。我想删除所有超过 8 个月的。我可以添加什么魔法来docker rmi $(MAGIC)实现这一点?

标签: docker

解决方案


根据此文档,您可以使用docker images prune 它将删除任何容器未使用的所有图像,将其filter与某些条件相结合使您能够删除具有某些条件的图像:

--filter您可以使用带有标志的过滤表达式来限制修剪哪些图像。例如,仅考虑 24 小时前创建的图像

$ docker image prune -a --filter "until=24h"

如果您需要删除超过 8 个月的图像,命令将是:

$ docker image prune -a --filter "until=5840h"

更新: 上面命令的更灵活版本,以防您需要更改until. 鉴于该1月大约等于730小时,我们需要删除超过8几个月的图像,那么我们可以使用如下命令并让 bash 进行数学运算:

$ docker image prune -a --filter "until=$((8 * 730))h"

推荐阅读