docker實(shí)現(xiàn)資源清理方式
1. 查看 docker 占用資源
docker container ls #默認(rèn)只列出正在運(yùn)行的容器,-a 選項(xiàng)會(huì)列出包括停止的所有容器。 docker image l s# 列出鏡像信息,-a 選項(xiàng)會(huì)列出 intermediate 鏡像(就是其它鏡像依賴的層)。 docker volume ls #列出數(shù)據(jù)卷。 docker network ls #列出 network。 docker info #顯示系統(tǒng)級(jí)別的信息,比如容器和鏡像的數(shù)量等。 du -sh /var/lib/docker/volumes/ du -sh /var/lib/docker/devicemapper du -sh /var/lib/docker/tmp
2. 清理
刪除鏡像
sudo docker rmi <Image Name>
刪除容器
sudo docker rm <Container Name>
刪除所有鏡像
sudo docker rmi -a
刪除所有容器
sudo docker rm -a
另外,容器的數(shù)據(jù)卷(volume)也是占用磁盤(pán)空間,可以通過(guò)以下命令刪除失效的volume:
sudo docker volume rm $(docker volume ls -qf dangling=true)
或者
docker volume ls -f dangling=true | awk '{ print $2 }' | xargs docker volume rm當(dāng)然,最暴力的方式是刪除Docker存儲(chǔ)鏡像,容器與數(shù)據(jù)卷的目錄(/var/lib/docker)
謹(jǐn)慎使用?。。?
sudo service docker stop sudo rm -rf /var/lib/docker sudo service docker start
只刪除那些未被使用的資源
docker system prune
安全起見(jiàn),這個(gè)命令默認(rèn)不會(huì)刪除那些未被任何容器引用的數(shù)據(jù)卷,如果需要同時(shí)刪除這些數(shù)據(jù)卷,
你需要顯式的指定 --volumns 參數(shù)。
比如你可能想要執(zhí)行下面的命令:
docker system prune --all --force --volumns
<none> 鏡像。
這表示舊的鏡像已經(jīng)不再被引用了
此時(shí)它們就變成了 dangling images
#批量清理容器
docker container prune # 刪除所有退出狀態(tài)的容器
#or
docker ps --filter status=dead --filter status=exited -aq | xargs -r docker rm -v
docker volume prune # 刪除未被使用的數(shù)據(jù)卷
docker network prune #清理沒(méi)有再被任何容器引用的networks
docker network prune --filter "until=24h" #清理沒(méi)有被引用的、創(chuàng)建超過(guò)24小時(shí)的networks
docker image prune # 刪除 dangling 或所有未被使用的鏡像
docker image prune -a #清除所有沒(méi)有容器引用的鏡像
docker image prune -a --filter "until=24h" # 只清除超過(guò)創(chuàng)建時(shí)間超過(guò)24小時(shí)的鏡像
docker images --no-trunc | grep '<none>' | awk '{ print $3 }' | xargs -r docker rmi
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker搭建一個(gè)nginx服務(wù)的實(shí)現(xiàn)
Nginx是一個(gè)高性能的HTTP和反向代理web服務(wù)器,同時(shí)也提供了IMAP/POP3/SMTP服務(wù),本文主要介紹了Docker搭建一個(gè)nginx服務(wù)的實(shí)現(xiàn),感興趣的可以了解一下2024-08-08
Docker部署常見(jiàn)應(yīng)用之SFTP服務(wù)器詳解
這篇文章主要介紹了Docker部署常見(jiàn)應(yīng)用之SFTP服務(wù)器,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-06-06
Docker部署Nacos并接入SpringBoot服務(wù)完整流程
本次實(shí)踐圍繞 Docker 部署穩(wěn)定可用的 Nacos 服務(wù)、開(kāi)啟登錄鑒權(quán)、開(kāi)放 gRPC 端口,并實(shí)現(xiàn) SpringBoot 服務(wù)注冊(cè)到 Nacos 展開(kāi),解決了版本兼容、鑒權(quán)配置、端口通信等核心問(wèn)題,需要的朋友可以參考下2026-03-03
使用Docker實(shí)現(xiàn)MySQL容器中批量導(dǎo)出所有數(shù)據(jù)庫(kù)
在使用 Docker 部署 MySQL 的場(chǎng)景中,經(jīng)常會(huì)需要一次性導(dǎo)出容器內(nèi)除系統(tǒng)庫(kù)以外的所有數(shù)據(jù)庫(kù),下面小編就和大家介紹一下具體實(shí)現(xiàn)方法,有需要的小伙伴可以了解下2025-12-12
Docker?pull時(shí)報(bào)錯(cuò):https://registry-1.docker.io/v2/完美解決辦法
這篇文章主要介紹了Docker?pull時(shí)報(bào)錯(cuò):https://registry-1.docker.io/v2/完美解決辦法,文中通過(guò)代碼提供了詳細(xì)的解決步驟,包括檢查網(wǎng)絡(luò)連接、確保Docker服務(wù)正常運(yùn)行以及更換Docker源,需要的朋友可以參考下2026-01-01
Docker實(shí)現(xiàn)鏡像批量導(dǎo)出與導(dǎo)入的完整指南
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)Docker實(shí)現(xiàn)鏡像批量導(dǎo)出與導(dǎo)入,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-12-12

