如何删除早于X且未使用的Docker映像

Web*_*net 2 docker

我的服务器磁盘空间不足,并docker images显示了6个月前但2年前的一些容器。我想删除所有8个月以上的邮件。我可以添加什么魔术来docker rmi $(MAGIC)完成此任务?

Mos*_*ein 7

您可以使用docker images prune ,这将删除未使用任何容器中的所有图像,它相结合filter使你能够以一定的条件删除图像,根据该文件,它说:

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

$ docker image prune -a --filter "until=24h"
Run Code Online (Sandbox Code Playgroud)

如果您需要删除8个月以上的图像,则命令为:

$ docker image prune -a --filter "until=5840h"
Run Code Online (Sandbox Code Playgroud)

更新: 如果需要更改的值,则可以使用上述命令的更灵活版本until。假设该1月份730大约等于小时,并且我们需要删除早于8几个月的图像,则可以使用以下命令并让bash进行数学运算:

$ docker image prune -a --filter "until=$((8 * 730))h"
Run Code Online (Sandbox Code Playgroud)