Docker – 除去最后N张图像

我正在尝试构build一个小脚本,用于除去最后N个图像的小caching(用于回滚到最后一个工作版本)之外的所有泊坞窗图像。

有没有一个惯用的方法来做到这一点?

您可以使用tail命令来完成此操作。

假设你只想保留最近的5张图片。 你可以告诉tail从第n行开始显示列表。 对于5张图片,您需要尾巴从第6行开始:

 tail -n +6 

将其与docker工人配对,以显示您的图像ID列表,默认情况下按照最近的顺序sorting。

 docker images -q | tail -n +6 

您可以将所有这些传递给remove images命令。 这假定你正在使用bash shell; 如果使用csh派生的shell,则可能需要不同的语法。

 docker rmi $(docker images -q | tail -n +6)