如何批量刪除docker中tag為的映象

2021-09-25 07:58:03 字數 1153 閱讀 8574

我們在使用docker的過程中,經常會發現 docker images 列出的映象中有很多這樣的映象

repository                                           tag                 image id            created             size

d1f6013eddfa 6 days ago 525mb

這些映象往往是由於構建過程出現錯誤異常終止而殘留下來的,如何能夠批量刪除這種映象呢?

在網上搜一下,發現大多數都是利用grep和awk來做的,這種做法存在乙個問題,就是會把docker images輸出的title也作為引數傳遞給docker rmi命令。其實docker的原生命令中就支援這種過濾,例如我們可以使用如下命令:

docker rmi $(docker images -f 'dangling=true' -q)
其中,docker rmi 命令支援傳遞多個image作為引數批量刪除;而docker images 命令支援使用 『dangling=true』 這個filter來過濾出所有 tag 是 none的映象(-f 等同於 --filter,是新增過濾器的意思),docker images 的 -q 選項表示只輸出映象id。

docker images命令目前支援的filter有:

the currently supported filters are:

dangling (boolean - true or false)

label (label=or label==)

before ([:], or ) - filter images created before given id or references

since ([:], or ) - filter images created since given id or references

reference (pattern of an image reference) - filter images whose reference matches the specified pattern

關於 docker images filter 的用法,可以參考官方文件:

Docker 如何批量刪除映象

docker 使用一段時間之後,可能堆積很多用不著的,或者編譯錯誤的映象,乙個乙個刪除就很麻煩,需要乙個批量刪除的方法,如下 docker rmi docker images grep provider awk 上面這條命令,可以刪除所有名字中帶 provider 關鍵字的映象,grep 後面的引數...

docker批量刪除映象

如果我們啟動容器後直接刪除映象會提示提示先停止容器,所以我們需要先停止容器,然後再刪除容器,最後再刪除映象。可是在我們初學的時候回拉取大量映象,而有的時候為了效率又會強行終端,再加上一些操作不當,總是會一堆映象產生。之前都是手動乙個個停止容器,再乙個個刪除容器,最後再刪除映象,後來覺得太麻煩了,所以...

批量刪除docker映象

docker rmi 映象id 刪除多個映象需要先查詢出對應的映象id查詢全部映象,且只顯示映象id docker image ls a q 複製 刪除查詢到的映象docker rmi docker image ls a q 複製 篩選查詢到的映象docker image ls f before 映...