本人在工作中遇到需要批量删除docker镜像的情况,一个一个删除非常的麻烦,就想到利用
正则表达式,对 命令 docker images 的输出进行处理,然后一次性删除。思路:
docker images | grep “要筛选的内容”| awk { print $3 }
附上脚本:
#!/bin/bash
read -p "是否删除所有虚拟蜜罐镜像(y/n) : " YN
function delete_images()
{
for im in `docker images | grep "alpine\|ubuntu\|centos" | awk '{print $3}'`
do
echo "删除镜像 $im"
docker rmi $im
done
echo "虚拟蜜罐镜像服务已删除!"
}
function check_images()
{
if [ "YN" == "n" ];then
exit 0
else [ "YN" == "y" ];
delete_images
fi
}
check_images YN