天天看點

Docker批量删除REPOSITORY、TAG為none的鏡像概述

Docker批量删除REPOSITORY、TAG為none的鏡像

  • 概述
    • 批量删除docker鏡像為none的方法
    • 停止所有的容器:
    • 删除所有停止的容器
    • 删除所有的鏡像

概述

有時候重新建構鏡像的時候,該鏡像正在被某容器使用中,那麼在重新建構同名同版本鏡像後,docker保留原來的鏡像,即容器還是用原來的,除非重新開機。 那麼原來的鏡像名稱變成NONE,TAG也成了NONE

批量删除docker鏡像為none的方法

docker images|grep none|awk ‘{print $3}’|xargs docker rmi 
           

或者采用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
           

也可以放在定時任務裡,每天清理這些“垃圾鏡像

停止所有的容器:

1)擷取所有容器ID

docker ps -a -q
           

2)停止所有容器

docker stop $(docker ps -a -q)
           

删除所有停止的容器

docker rm $(docker ps -a -q)
           

删除所有的鏡像

docker rmi $(docker images -q)
           

繼續閱讀