Docker釋放空間幾種常用的清理方法
前言
Docker 在使用過程中會產(chǎn)生大量臨時文件、停止的容器、懸空鏡像和構(gòu)建緩存,及時清理可以釋放寶貴的磁盤空間。以下是幾種常用的清理方法,按從安全通用到徹底激進(jìn)的順序排列。
1. 一鍵清理(最常用)
使用 docker system prune 命令,它會清理所有未使用的資源(停止的容器、懸空鏡像、未使用的網(wǎng)絡(luò)、構(gòu)建緩存)。
# 標(biāo)準(zhǔn)清理(只刪除懸空鏡像,不刪除未使用的卷) docker system prune # 徹底清理(添加 -a 刪除所有未使用的鏡像,添加 --volumes 刪除未使用的卷) docker system prune -a --volumes
注意:添加 --volumes 會刪除未被任何容器使用的卷,操作前請確認(rèn)數(shù)據(jù)是否需要保留。
2. 分類清理(針對性操作)
如果只想清理特定類型的資源,可以使用以下命令。
清理容器
# 刪除所有已停止的容器 docker container prune # 刪除所有已停止的容器(并強(qiáng)制) docker container prune -f # 刪除所有容器(包括運行中的,需加 -f 強(qiáng)制) docker rm -f $(docker ps -aq)
清理鏡像
# 刪除懸空鏡像(無標(biāo)簽、無容器的中間層) docker image prune # 刪除所有未使用的鏡像(包括未被容器使用的) docker image prune -a # 刪除所有鏡像(謹(jǐn)慎使用) docker rmi -f $(docker images -q)
清理卷
卷是用于持久化數(shù)據(jù)的,清理需格外謹(jǐn)慎。
# 刪除所有未使用的卷 docker volume prune # 查看卷占用空間 docker system df -v
清理構(gòu)建緩存
# 刪除所有構(gòu)建緩存 docker builder prune # 徹底清理構(gòu)建緩存 docker builder prune -a
3. 查看磁盤占用情況
在清理前后,可以用以下命令查看 Docker 的資源占用情況:
# 顯示總覽(容器、鏡像、卷、構(gòu)建緩存各自占用) docker system df # 顯示更詳細(xì)的列表 docker system df -v
4. 自動化清理(推薦定期執(zhí)行)
可以設(shè)置 cron 任務(wù)(Linux)或 計劃任務(wù)(Windows/macOS)定期自動清理。
例如在 Linux 中,編輯 crontab:
crontab -e
添加一行,每周日凌晨 3 點執(zhí)行清理:
0 3 * * 0 docker system prune -f
5. 特殊情況:清理所有停止容器和鏡像(慎用)
如果你確信不需要任何已停止的容器和未使用的鏡像,可以執(zhí)行以下組合命令:
# 停止所有運行中的容器(可選) docker stop $(docker ps -q) # 刪除所有容器 docker rm -f $(docker ps -aq) # 刪除所有鏡像 docker rmi -f $(docker images -q) # 刪除所有卷(慎用) docker volume rm $(docker volume ls -q) # 刪除所有網(wǎng)絡(luò)(除默認(rèn)外) docker network prune
總結(jié)建議
| 場景 | 推薦命令 |
|---|---|
| 日常清理 | docker system prune |
| 釋放較多空間 | docker system prune -a |
| 連卷也清理(數(shù)據(jù)不保留) | docker system prune -a --volumes |
| 查看占用 | docker system df -v |
| 定期自動清理 | crontab + docker system prune -f |
提醒:清理卷 (--volumes) 會刪除容器未使用的數(shù)據(jù)卷,如果容器中保存了數(shù)據(jù)庫或重要文件,務(wù)必確認(rèn)這些卷是否還在使用中,以免數(shù)據(jù)丟失。
到此這篇關(guān)于Docker釋放空間幾種常用的清理方法的文章就介紹到這了,更多相關(guān)Docker釋放空間內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
啟動docker的時候如何把參數(shù)傳遞給docker里面的項目(推薦)
這篇文章主要介紹了啟動docker的時候如何把參數(shù)傳遞給docker里面的項目,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-01-01
docker 數(shù)據(jù)目錄遷移的兩種實現(xiàn)方法
本文主要介紹了docker 數(shù)據(jù)目錄遷移的兩種實現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2025-03-03
基于Docker的微服務(wù)自動化部署系統(tǒng)全解析
本文介紹了基于Docker的微服務(wù)自動化部署系統(tǒng)的設(shè)計與實現(xiàn),該系統(tǒng)通過模塊化設(shè)計,包括服務(wù)發(fā)現(xiàn)、容器編排、監(jiān)控告警等功能,實現(xiàn)了微服務(wù)的自動化部署、運維和監(jiān)控,提高了部署效率和穩(wěn)定性,感興趣的朋友跟隨小編一起看看吧2026-01-01
Docker Attach 命令及操作場景應(yīng)用(容器交互機(jī)制)
Docker attach用于連接運行容器的IO流,實現(xiàn)調(diào)試與監(jiān)控,核心參數(shù)包括--detach-keys自定義退出鍵、--no-stdin避免誤操作,生產(chǎn)環(huán)境建議配合安全配置使用,開發(fā)環(huán)境可靈活操作,接下來通過本文給大家介紹Docker Attach 命令的操作應(yīng)用,感興趣的朋友一起看看吧2025-08-08
Docker容器開啟設(shè)置自動啟動的實現(xiàn)方法
通過在Docker中設(shè)置容器的默認(rèn)啟動命令,我們可以實現(xiàn)在容器啟動時自動啟動服務(wù)的功能,具有一定的參考價值,感興趣的可以了解一下2023-10-10

