清理docker磁盤空間的方法總結(jié)(附詳細(xì)講解)
前言
docker 鏡像特別容易占空間,稍微不注意可能磁盤爆滿
通過df - h
查看的時(shí)候,磁盤已經(jīng)達(dá)到95%:
1. Docker System 命令
先用docker system df
命令查看
再用docker system prune
清理
(清理命令 謹(jǐn)慎使用,注意作用以及波及范圍?。?! )
不確定的記得備份,或者 先食用該博文中的第二三章節(jié)!
1.1 docker system df
查看docker 占用的存儲(chǔ)空間: docker system df
截圖如下:
具體的參數(shù)類型如下:
TYPE參數(shù)(docker 磁盤類型) | 具體說明 |
---|---|
Images | 所有鏡像占用空間 |
Containers | 運(yùn)行容器占用空間(主要是讀寫層) |
Local Volumes | 本地?cái)?shù)據(jù)卷占用空間 |
Build Cache | 鏡像構(gòu)建產(chǎn)生的緩存空間 |
RECLAIMABLE 代表可回收的大小
1.2 docker system prune
該命令主要用來 刪除停止的容器、無用的數(shù)據(jù)卷、網(wǎng)絡(luò)和無tag的鏡像:docker system prune
補(bǔ)充其它刪除容器的命令,以下兩個(gè)命令主要用來刪除所有的容器
- $ docker rm -f $(docker ps -aq)
- $ docker container rm -f $(docker container ls -aq)
執(zhí)行 docker system prune
截圖如下(再次使用docker system df 查看,占用空間已經(jīng)被回收了):
再次使用df -h
查詢時(shí),發(fā)現(xiàn)占用空間清除很多
如果加入 -a
參數(shù),會(huì)更加暴力,會(huì)把數(shù)據(jù)庫鏡像及容器全刪了(正常使用的不會(huì)被刪除):docker system prune -a
慎用這個(gè) docker system prune -a
來清理,一定要先備份
2. 冗余容器或鏡像
除了以上的方式進(jìn)行回收處理,還有一些冗余過期的容器或者鏡像
批量刪除docker過期停止的容器的四種方法_docker_腳本之家 (jb51.net)
3. 限制容器日志
使用du -hs /var/lib/docker/
命令 查看Docker所有相關(guān)文件,包括鏡像、容器等
截圖如下(這已經(jīng)是我刪除之后的):
如果發(fā)現(xiàn)內(nèi)存占用空間比較大,對(duì)應(yīng)通過du 命令 一個(gè)個(gè)查看哪個(gè)容器或者鏡像過大
- 方案一:
通過docker ps
的命令, 發(fā)現(xiàn) 的某個(gè)容器id
與 /var/lib/docker/containers/容器id
一致
可以用 truncate
命令,可以將該容器的日志文件歸零
具體命令:truncate -s 0 /var/lib/docker/containers/容器id
- 方案二:
直接在該容器目錄下 執(zhí)行rm -rf
即可
(但該方法通過df -h 查看會(huì)發(fā)現(xiàn)其內(nèi)存占用空間并沒有很快釋放,如果有用戶在讀取改文件的時(shí)候還是可以查看,只有重啟系統(tǒng)的時(shí)候,空間才會(huì)被釋放)
- 方案三:
長久有效,就限制docker 的日志文件大?。ňW(wǎng)友答案)
方案三補(bǔ)充1:
通過配置容器docker-compose的max-size選項(xiàng)
nginx: image: nginx:1.12.1 restart: always logging: driver: "json-file" options: max-size: "5g"
方案三補(bǔ)充2:,生成一個(gè)json文件:vim /etc/docker/daemon.json
,若有就不用新建,直接補(bǔ)充下面這兩個(gè)即可
log-driver 代表文件名,不加系統(tǒng)使用默認(rèn)
{ "log-driver":"json-file", // 日志大小上限是500M,有3個(gè)文件 "log-opts": {"max-size":"500m", "max-file":"3"} }
之后執(zhí)行命令重啟:
systemctl daemon-reload
systemctl restart docker
寫在最后
以上就是清理docker磁盤空間的方法總結(jié)(附詳細(xì)講解)的詳細(xì)內(nèi)容,更多關(guān)于清理docker磁盤空間的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫
這篇文章介紹了Linux系統(tǒng)通過Docker安裝SQL?Server數(shù)據(jù)庫的方法,對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-03-03如何解決IDEA無法連接docker中的數(shù)據(jù)庫的問題
這篇文章主要介紹了如何解決IDEA無法連接docker中的數(shù)據(jù)庫的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-06-06Docker容器網(wǎng)絡(luò)互聯(lián)的項(xiàng)目實(shí)踐
docker中的容器都是連接到一個(gè)虛擬的網(wǎng)橋上的,這為獨(dú)立的容器提供了互聯(lián)的可能,本文主要介紹了Docker容器網(wǎng)絡(luò)互聯(lián)的項(xiàng)目實(shí)踐,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03Docker?安裝啟動(dòng)Jenkins的方法(docker-compose)
這篇文章主要介紹了Docker?安裝啟動(dòng)?Jenkins(docker-compose)的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-09-09