Docker系統(tǒng)空間占用過(guò)大的清理方法詳解
在日常使用 Docker 的過(guò)程中,我們經(jīng)常會(huì)發(fā)現(xiàn)服務(wù)器磁盤空間莫名其妙地被占滿。特別是 /var/lib/docker/overlay2 目錄動(dòng)輒幾十個(gè) G,讓人懷疑是不是有人用 Docker 挖礦了……
其實(shí),大部分情況下問(wèn)題并不復(fù)雜:很多 Docker 鏡像層、構(gòu)建緩存、停止的容器,仍然占用大量空間卻沒有被清理。解決方案也非常簡(jiǎn)單,一條命令就能完成清理!
問(wèn)題現(xiàn)象
使用 df -h 查看磁盤使用情況:
df -h
發(fā)現(xiàn)根目錄 / 使用率接近 100%:
/dev/vda1 99% /var/lib/docker/overlay2 占用非常大
進(jìn)一步查看是 Docker 的 overlay2 目錄占用了大量空間:
du -h --max-depth=1 /var/lib/docker/overlay2 | sort -hr | head
結(jié)果顯示幾十 GB 的無(wú)效目錄,甚至根本不是正在使用容器的層:
20G /var/lib/docker/overlay2/abc123...
18G /var/lib/docker/overlay2/9dd...
...
但是這些目錄又不敢直接 rm -rf 刪除,擔(dān)心刪錯(cuò)了導(dǎo)致容器啟動(dòng)失敗。
判斷哪些目錄不能刪
我們可以用 docker inspect 判斷某個(gè) overlay2 層是否屬于正在運(yùn)行的容器:
docker inspect <CONTAINER_ID> --format '{{.GraphDriver.Data.UpperDir}}'
如果匹配到 /var/lib/docker/overlay2/<id>/diff 說(shuō)明是正在使用,不能動(dòng)。
但是手動(dòng)檢查太費(fèi)時(shí)間!有沒有一條命令能自動(dòng)清理?
解決方案:一條命令,自動(dòng)清理
docker system prune
默認(rèn)清理內(nèi)容:
| 清理內(nèi)容 | 說(shuō)明 |
|---|---|
| 停止的容器 | Exited 狀態(tài) |
| 無(wú)用的網(wǎng)絡(luò) | bridge 等臨時(shí)網(wǎng)絡(luò) |
| dangling images | <none> 類型的鏡像層 |
| build cache | Docker 構(gòu)建緩存 |
執(zhí)行時(shí)會(huì)提示確認(rèn):
WARNING! This will remove:
- all stopped containers
- all networks not used by at least one container
- all dangling images
- all build cache
Are you sure you want to continue? [y/N] y
效果立竿見影:清理后 overlay2 目錄明顯縮小,磁盤恢復(fù)正常!
如果想清理更多空間
docker system prune -a
這會(huì)額外清理 所有未使用的鏡像(包括沒有運(yùn)行容器引用的)
更徹底的版本(連 volumes 一起清)
docker system prune -a --volumes
注意:執(zhí)行前一定要確認(rèn) volume 是否還在使用!
清理前后對(duì)比
| 狀態(tài) | 磁盤使用率 |
|---|---|
| 清理前 | 98% |
| 執(zhí)行 docker system prune 后 | 降到 65% |
| 再執(zhí)行 -a --volumes 后 | 僅 40% |
建議定期維護(hù)
可以寫成定時(shí)任務(wù),每周清理一次:
# /etc/crontab 0 3 * * SUN root docker system prune -a -f
總結(jié)
| 問(wèn)題 | 解決方法 |
|---|---|
| overlay2 占空間大 | docker system prune |
| 停止的容器太多 | docker ps -a → docker rm |
| 鏡像太多 | docker image prune -a |
| 卷占空間 | docker volume prune |
實(shí)戰(zhàn)經(jīng)驗(yàn)
千萬(wàn)不要手動(dòng) rm -rf /var/lib/docker/overlay2/...
最安全的清理方式永遠(yuǎn)是 Docker 官方命令!
這樣不僅避免誤刪容器層,也讓 Docker 內(nèi)部的元數(shù)據(jù)保持一致,系統(tǒng)更穩(wěn)定。
結(jié)語(yǔ)
如果你也遇到系統(tǒng)空間被 Docker 吃光的問(wèn)題,不妨試試這一條命令:
docker system prune
到此這篇關(guān)于Docker系統(tǒng)空間占用過(guò)大的清理方法詳解的文章就介紹到這了,更多相關(guān)Docker空間占用過(guò)大清理內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon
這篇文章主要給大家介紹了關(guān)于解決docker?pull出現(xiàn)錯(cuò)誤:Error?response?from?daemon的相關(guān)資料,這個(gè)錯(cuò)誤提示一般是因?yàn)槟銢]有權(quán)限拉取對(duì)應(yīng)的鏡像,文中將解決辦法介紹的非常詳細(xì),需要的朋友可以參考下2023-12-12
iptables如何限制宿主機(jī)跟Docker IP和端口訪問(wèn)(安全整改)
本文詳細(xì)介紹了如何通過(guò)iptables對(duì)網(wǎng)絡(luò)訪問(wèn)進(jìn)行限制,包括限制特定IP或網(wǎng)段訪問(wèn)特定服務(wù),以及在Docker環(huán)境下,如何設(shè)置DOCKER-USER鏈限制IP和端口訪問(wèn),確保網(wǎng)絡(luò)安全2024-10-10
部署Docker管理面板DweebUI的實(shí)現(xiàn)
DweebUI是一款簡(jiǎn)化Docker容器管理的Web界面,支持實(shí)時(shí)監(jiān)控、多用戶權(quán)限及跨平臺(tái)操作,本文就來(lái)介紹部署Docker管理面板DweebUI的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2025-06-06
docker?ps容器未顯示的問(wèn)題以及排查過(guò)程詳解
這篇文章主要給大家介紹了關(guān)于docker?ps容器未顯示的問(wèn)題以及排查過(guò)程的相關(guān)資料,相信各位在使用docker容器的時(shí)候,經(jīng)常docker run -d后臺(tái)運(yùn)行后,使用docker ps的時(shí)候發(fā)現(xiàn)這個(gè)容器顯示不到,這里給大家介紹下,需要的朋友可以參考下2023-09-09
Docker -p將容器內(nèi)部的端口映射到宿主機(jī)的端口方式
文章介紹了使用-docker參數(shù)將容器內(nèi)部端口映射到宿主機(jī)端口的方法,包括單端口映射、多端口映射、自動(dòng)分配宿主機(jī)端口、查看實(shí)際端口、綁定特定宿主機(jī)IP和測(cè)試端口連通性2025-11-11
Docker環(huán)境下快速部署Ollama與Open-WebUI的詳細(xì)指南
在本篇文章中,我們將深入探討如何在Docker中高效部署 Ollama 和 Open-WebUI,并解決在實(shí)際使用中常見的問(wèn)題,有需要的小伙伴可以跟隨小編一起學(xué)習(xí)一下2026-03-03
CentOS7構(gòu)建docker-ce的過(guò)程詳解
使用CentOS 7.9系列的Linux操作系統(tǒng),從CentOS系統(tǒng)基礎(chǔ)配置開始,0到1快速構(gòu)建docker應(yīng)用,本文給大家分享CentOS7構(gòu)建docker-ce的過(guò)程,感興趣的朋友跟隨小編一起看看吧2024-05-05
docker nginx 配置文件要點(diǎn)及注意事項(xiàng)
本文介紹了Nginx的配置要點(diǎn)及注意事項(xiàng),包括訪問(wèn)靜態(tài)資源、負(fù)載均衡等,在訪問(wèn)靜態(tài)資源時(shí),可以使用root或alias指令指定路徑,本文給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2025-02-02
FastAPI 部署在Docker的詳細(xì)過(guò)程
這篇文章主要介紹了FastAPI 部署在 Docker的詳細(xì)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10

