docker容器查看所有沒使用的鏡像并刪除的實(shí)現(xiàn)
場(chǎng)景
最近工作中遇到服務(wù)器磁盤緊張的情況,想到docker鏡像和容器可以刪除些不用的,省出來一些空間。具體操作如下:
1. 刪除不用的容器
首先執(zhí)行命令 docker ps -a
查看容器列表,可以看到很多 exited的容器,表示這些容器已經(jīng)退出,沒用了。
刪除無效容器
查詢出所有的Exited的容器, 執(zhí)行 docker rm 容器id
進(jìn)行刪除。
2. 刪除不用的鏡像
執(zhí)行 docker images
查看鏡像,
可以看到很多是沒有用的鏡像(顯示為None的),還有些鏡像看不出來,是否使用了。
可以執(zhí)行下面的腳本
#!/bin/bash # 獲取所有正在運(yùn)行的容器ID running_containers=$(docker ps -q) # 獲取所有鏡像列表 all_images=$(docker images --format "{{.Repository}}:{{.Tag}}") # 遍歷每個(gè)鏡像,并檢查是否有容器在使用 for image in $all_images; do # 檢查該鏡像是否被任何容器使用 if [[ -z $(docker ps -q --filter "ancestor=$image") ]]; then # 檢查該鏡像是否為正在運(yùn)行的容器使用的基礎(chǔ)鏡像 if ! grep -q "$image" <<< "$running_containers"; then echo "未使用的鏡像:$image" docker rmi "$image" fi fi done
刪除完了,再測(cè)試下 df -h
發(fā)現(xiàn)多了二十多個(gè)磁盤空間。
到此這篇關(guān)于docker容器查看所有沒使用的鏡像并刪除的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)docker查看沒使用鏡像內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker報(bào)錯(cuò)Container is not running問題及解決
這篇文章主要介紹了docker報(bào)錯(cuò)Container is not running問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-05-05docke-cli的調(diào)試環(huán)境搭建過程
在搭建docker-cli的調(diào)試環(huán)境時(shí),遇到很多坑,通過本文講解下搭建docke-cli的調(diào)試環(huán)境的詳細(xì)方法,需要的朋友可以參考下2022-11-11Docker沒有啟動(dòng)環(huán)境變量的問題解決
在使用Docker容器時(shí),有時(shí)候我們會(huì)遇到一個(gè)問題,就是在容器中沒有啟動(dòng)環(huán)境變量,本文主要介紹了Docker沒有啟動(dòng)環(huán)境變量的問題解決,具有一定的參考價(jià)值,感興趣的可以了解一下2024-02-02利用Docker搭建Nexus私有倉(cāng)庫(kù)實(shí)現(xiàn)Maven私服
Maven大家應(yīng)該都比較熟了,我這里就用安卓人狂喜的Gradle來演示一下,在build.gradle中編寫腳本即可上傳,接下來通過本文給大家介紹下利用Docker搭建Nexus私有倉(cāng)庫(kù)實(shí)現(xiàn)Maven私服的問題,感興趣的朋友一起看看吧2022-01-01docker 設(shè)置windows存儲(chǔ)路徑的操作
這篇文章主要介紹了docker 設(shè)置windows存儲(chǔ)路徑的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2021-03-03