docker清理中斷構(gòu)建后產(chǎn)生的鏡像和緩存(實(shí)際操作)
docker清理中斷構(gòu)建后產(chǎn)生的鏡像和緩存
你 Ctrl + C 中斷構(gòu)建之后,中間層鏡像和構(gòu)建緩存會(huì)殘留在本地,占用空間??梢赃@樣清理:
1. 刪除構(gòu)建緩存(推薦方式)
docker builder prune
會(huì)清掉未被任何鏡像引用的構(gòu)建緩存層。
如果你想更徹底,加 -a:
docker builder prune -a
這會(huì)把所有緩存層都清掉,下次 docker build 會(huì)完全重建。
2. 刪除懸空鏡像(中斷時(shí)產(chǎn)生的<none>鏡像)
docker image prune
刪除無(wú)標(biāo)簽(dangling)的鏡像。
如果要更狠一點(diǎn):
docker image prune -a
會(huì)刪除所有沒(méi)被容器使用的鏡像(包括你沒(méi)打標(biāo)簽但保留的鏡像)。
3. 一步到位大清理(慎用)
如果你想把沒(méi)用的容器、網(wǎng)絡(luò)、鏡像、緩存全清掉:
docker system prune -a
- 會(huì)提示確認(rèn),刪除范圍大(包括沒(méi)在跑的容器、沒(méi)用的網(wǎng)絡(luò)、無(wú)標(biāo)簽鏡像、緩存)。
4. 檢查空間占用
docker system df
能看到 images / containers / local volumes / build cache 的占用情況。
? 建議:
- 如果只是打斷了一次構(gòu)建,
docker builder prune就夠了。 - 如果你懷疑有
<none>鏡像殘留,再跑docker image prune。 - 如果磁盤空間告急,可以用
docker system prune -a來(lái)“大掃除”。
實(shí)際操作
docker builder prune WARNING! This will remove all dangling build cache. Are you sure you want to continue? [y/N] y ID RECLAIMABLE SIZE LAST ACCESSED pklwhooalq0qn7ve1ha4b2r7y* true 9.365kB 12 minutes ago y15m4nhdqb33yo19v029szk6d* true 2.887kB 12 minutes ago i7dovdfsr6h6qektdhxxu6pjt* true 12.15GB 12 minutes ago Total: 12.15GB (05_ep_dev) root@k8s-master-pfsrv:/home/zhangbin/perfwork/01_ai/12_exp_v1.2# docker image prune WARNING! This will remove all dangling images. Are you sure you want to continue? [y/N] y Total reclaimed space: 0B
補(bǔ)充:徹底清理Docker鏡像的完整指南
徹底清理Docker鏡像的完整指南
前言
在使用Docker進(jìn)行開(kāi)發(fā)后,經(jīng)常會(huì)積累大量的鏡像、容器、數(shù)據(jù)卷和構(gòu)建緩存,這些會(huì)占用大量磁盤空間。本文將詳細(xì)介紹如何徹底清理Docker環(huán)境,釋放寶貴的存儲(chǔ)空間。
1. 清理目標(biāo)
- 停止并刪除所有運(yùn)行中的容器
- 刪除所有Docker鏡像
- 清理數(shù)據(jù)卷和網(wǎng)絡(luò)
- 清理構(gòu)建緩存和歷史記錄
- 刪除構(gòu)建器實(shí)例
2. 詳細(xì)步驟
第一步:查看當(dāng)前狀態(tài)
# 查看所有容器(包括停止的) docker ps -a # 查看所有鏡像 docker images # 查看數(shù)據(jù)卷 docker volume ls # 查看網(wǎng)絡(luò) docker network ls # 查看構(gòu)建器 docker buildx ls
第二步:停止并刪除容器
# 停止所有運(yùn)行中的容器 docker stop $(docker ps -aq) # 刪除所有容器 docker rm $(docker ps -aq)
第三步:刪除鏡像
# 刪除特定鏡像(替換為你的鏡像名和標(biāo)簽) docker rmi 鏡像名:標(biāo)簽 # 或者刪除所有鏡像 docker rmi $(docker images -q)
第四步:清理數(shù)據(jù)卷和網(wǎng)絡(luò)
# 刪除特定數(shù)據(jù)卷 docker volume rm 數(shù)據(jù)卷名 # 刪除特定網(wǎng)絡(luò) docker network rm 網(wǎng)絡(luò)名
第五步:清理構(gòu)建緩存和系統(tǒng)資源
# 清理所有未使用的資源(包括構(gòu)建緩存) docker system prune -a -f # 清理構(gòu)建器緩存 docker builder prune -a -f
第六步:刪除構(gòu)建器實(shí)例
# 查看構(gòu)建器列表 docker buildx ls # 刪除特定構(gòu)建器(如果存在) docker context rm -f 構(gòu)建器名
3.注意事項(xiàng)
- 數(shù)據(jù)備份:刪除前請(qǐng)確保重要數(shù)據(jù)已備份
- 強(qiáng)制刪除:使用
-f參數(shù)可以強(qiáng)制刪除正在使用的資源 - 權(quán)限要求:某些操作可能需要管理員權(quán)限
- 重啟服務(wù):清理后建議重啟Docker Desktop
?? 空間回收效果
通過(guò)以上步驟,通??梢曰厥眨?/p>
- 鏡像空間:幾百M(fèi)B到幾GB
- 構(gòu)建緩存:幾GB到幾十GB
- 數(shù)據(jù)卷:根據(jù)使用情況而定
- 總計(jì):通常可以釋放5-20GB空間
4.重新開(kāi)始
清理完成后,如果需要重新使用Docker:
- 重新創(chuàng)建
Dockerfile - 重新創(chuàng)建
docker-compose.yml - 重新構(gòu)建鏡像
- 重新啟動(dòng)服務(wù)
?? 總結(jié)
徹底清理Docker環(huán)境是一個(gè)系統(tǒng)性的過(guò)程,需要按照正確的順序執(zhí)行各個(gè)步驟。通過(guò)本文的指導(dǎo),你可以安全、高效地清理Docker環(huán)境,釋放大量磁盤空間,為新的開(kāi)發(fā)工作做好準(zhǔn)備。
記住,定期清理Docker環(huán)境是一個(gè)好習(xí)慣,可以避免磁盤空間不足的問(wèn)題,保持開(kāi)發(fā)環(huán)境的整潔。
到此這篇關(guān)于docker清理中斷構(gòu)建后產(chǎn)生的鏡像和緩存的文章就介紹到這了,更多相關(guān)docker清理鏡像緩存內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker compose up 命令默認(rèn)配置文件自動(dòng)查找規(guī)則詳解
DockerCompose在沒(méi)有指定配置文件時(shí),會(huì)按照優(yōu)先級(jí)順序查找compose.yaml、compose.ymldocker-compose.yml等文件,官方推薦使用compose.yaml,本文給大家介紹docker compose up 命令默認(rèn)配置文件自動(dòng)查找規(guī)則詳解,感興趣的朋友跟隨小編一起看看吧2026-01-01
如何在mac上用docker對(duì)Oracle進(jìn)行部署使用
這篇文章主要介紹了如何在mac上用docker對(duì)Oracle進(jìn)行部署使用,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-03-03
Docker Network命令進(jìn)行容器網(wǎng)絡(luò)管理的完整指南
Docker 網(wǎng)絡(luò)是容器化架構(gòu)中的關(guān)鍵組件,它決定了容器之間以及容器與外部世界的通信方式,本文主要介紹了Docker如何通過(guò)Network命令進(jìn)行容器網(wǎng)絡(luò)管理,希望對(duì)大家有所幫助2025-09-09
快速設(shè)置Docker的三種網(wǎng)絡(luò)代理配置方式
這篇文章主要介紹了快速設(shè)置Docker的三種網(wǎng)絡(luò)代理配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-04-04
在 docker 之間導(dǎo)出導(dǎo)入鏡像的方法
本篇文章主要介紹了在 docker 之間導(dǎo)出導(dǎo)入鏡像的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
docker prune命令可定時(shí)清理不常用數(shù)據(jù)的實(shí)現(xiàn)
磁盤使用過(guò)久就會(huì)導(dǎo)致磁盤空間越來(lái)越小,這時(shí)候就需要?jiǎng)h除不相關(guān)的數(shù)據(jù)來(lái)釋放磁盤空間,本文主要使用docker prune命令可定時(shí)清理不常用數(shù)據(jù)的實(shí)現(xiàn),感興趣的可以了解一下2021-10-10

