docker容器查看所有沒使用的鏡像并刪除的實現(xiàn)
場景
最近工作中遇到服務器磁盤緊張的情況,想到docker鏡像和容器可以刪除些不用的,省出來一些空間。具體操作如下:
1. 刪除不用的容器
首先執(zhí)行命令 docker ps -a
查看容器列表,可以看到很多 exited的容器,表示這些容器已經(jīng)退出,沒用了。

刪除無效容器
查詢出所有的Exited的容器, 執(zhí)行 docker rm 容器id 進行刪除。
2. 刪除不用的鏡像
執(zhí)行 docker images 查看鏡像,

可以看到很多是沒有用的鏡像(顯示為None的),還有些鏡像看不出來,是否使用了。
可以執(zhí)行下面的腳本
#!/bin/bash
# 獲取所有正在運行的容器ID
running_containers=$(docker ps -q)
# 獲取所有鏡像列表
all_images=$(docker images --format "{{.Repository}}:{{.Tag}}")
# 遍歷每個鏡像,并檢查是否有容器在使用
for image in $all_images; do
# 檢查該鏡像是否被任何容器使用
if [[ -z $(docker ps -q --filter "ancestor=$image") ]]; then
# 檢查該鏡像是否為正在運行的容器使用的基礎鏡像
if ! grep -q "$image" <<< "$running_containers"; then
echo "未使用的鏡像:$image"
docker rmi "$image"
fi
fi
done刪除完了,再測試下 df -h 發(fā)現(xiàn)多了二十多個磁盤空間。
到此這篇關于docker容器查看所有沒使用的鏡像并刪除的實現(xiàn)的文章就介紹到這了,更多相關docker查看沒使用鏡像內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker報錯Container is not running問題及解決
這篇文章主要介紹了docker報錯Container is not running問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05
docke-cli的調(diào)試環(huán)境搭建過程
在搭建docker-cli的調(diào)試環(huán)境時,遇到很多坑,通過本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細方法,需要的朋友可以參考下2022-11-11
利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服
Maven大家應該都比較熟了,我這里就用安卓人狂喜的Gradle來演示一下,在build.gradle中編寫腳本即可上傳,接下來通過本文給大家介紹下利用Docker搭建Nexus私有倉庫實現(xiàn)Maven私服的問題,感興趣的朋友一起看看吧2022-01-01

