Docker旧图像清理?

sudo docker images的输出显示的是几年前创build的图片,我没有看到它们的任何用处, sudo docker system prune也不会删除它们。

我怎样才能轻松删除旧图像? 我是否必须编写一个脚本才能根据docker images输出中date createddate created进行有条件删除?

我不认为你可以通过创builddate过滤图像,但你可以使用另一个图像作为时间的参考。

before的标志( -f--filter )只显示在给定id或引用的图像之前创build的图像。

例如,有这些图像:

 $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE image1 latest eeae25ada2aa 4 minutes ago 188.3 MB image2 latest dea752e4e117 9 minutes ago 188.3 MB image3 latest 511136ea3c5a 25 minutes ago 188.3 MB 

过滤before (image1)会给:

 $ docker images --filter "before=eeae25ada2aa" REPOSITORY TAG IMAGE ID CREATED SIZE image2 latest dea752e4e117 9 minutes ago 188.3 MB image3 latest 511136ea3c5a 25 minutes ago 188.3 MB 

删除image1之前的图像(eeae25ada2aa)

 $ docker rmi $(docker images --filter "since=511136ea3c5a" -q) dea752e4e117 511136ea3c5a