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

刪除無效容器
查詢出所有的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ā)現多了二十多個磁盤空間。
到此這篇關于docker容器查看所有沒使用的鏡像并刪除的實現的文章就介紹到這了,更多相關docker查看沒使用鏡像內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
docker報錯Container is not running問題及解決
這篇文章主要介紹了docker報錯Container is not running問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-05-05

