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

