Docker Overlay2磁盤空間占用過大清理的方法實現(xiàn)
在日常線上環(huán)境中,我們通常會來做利用Docker來做容器化管理,通過運行容器來執(zhí)行任務等。
但是,隨著業(yè)務量的不斷增大,容器的不斷啟動,往往會出現(xiàn)磁盤空間不足,
1、第一種情況
是因為docker中部署的系統(tǒng)中日志內(nèi)容的不斷擴大。
這種情況下,我們可手動,或定時任務清理。
對于/var/lib/docker/overlay2 空間占用,存在很多誤導的方法是去遷移路徑等。。
其實磁盤空間的占用和overlay沒關系,它的使用和真實的disk使用相同,overlay只是一個docker的虛擬文件系統(tǒng),真實的文件系統(tǒng)是前者/dev/vda1,可以看到路徑所指為根目錄。
所以,通過該目錄去查找哪里占用資源過大。
通常情況下與overlay2的同級目錄下會有如下的目錄:

占用大量空間的日志文件位于containers下,該目錄下存在如下目錄:

在該目錄下,會存在以目錄名為前綴,以“-json.log”為后綴的目錄文件。
例如:

使用如下命令會看到該文件的大小:ll -h
然后,使用> *-json.log ,將該文件進行清理
清理完成可不重啟服務,重啟更好
清理完后,可通過df -h 查看磁盤占用情況
2、第二種情況
可通過執(zhí)行docker system prune 命令可用于清理磁盤,刪除關閉的容器、無用的數(shù)據(jù)卷和網(wǎng)絡,以及dangling鏡像(即無tag的鏡像)
Docker中查詢磁盤占用情況:
docker system df

可看到Images占用了8.534G,Conainers占用244G。
docker system prune -a【慎用】命令清理更干凈、徹底,可以將沒有容器使用的Docker鏡像都刪掉。
這樣也可清理空間
3、最后,可通過安裝portainer 【Docker的圖形化管理工具】
Portainer是Docker的圖形化管理工具,提供狀態(tài)顯示面板、應用模板快速部署、容器鏡像網(wǎng)絡數(shù)據(jù)卷的基本操作(包括上傳下載鏡像,創(chuàng)建容器等操作)、事件日志顯示、容器控制臺操作、Swarm集群和服務等集中管理和操作、登錄用戶管理和控制等功能。
1、可通過下列命令查詢當前有哪些Portainer鏡像
docker search portainer

2、下載鏡像
docker pull docker.io/portainer/portainer
3、鏡像下載成功后,接下來啟動容器
docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name portainer-test docker.io/portainer/portainer
執(zhí)行完該語句后,用宿主機9000端口關聯(lián)容器中的9000端口,并給容器起名為portainer-test。執(zhí)行完該命令之后,使用該機器IP:PORT即可訪問Portainer。
訪問方式:http://IP:9000
4、首次登錄時,需要注冊用戶,給admin設置密碼:

如果是本機的話,可以選擇local,選擇完,點擊Connect即可連接到本地docker;

然后查看首頁中是不是掛載了很多Volumes:

如果存在很多Volumes,將【unuse】的全部給刪除掉【remove】掉,便可清掉很大空間。
清完之后,再回去看看磁盤占用。
df -hl
我這里就不做演示,因為沒必要清理。
4、最后,占用大量overlay文件內(nèi)存大小,可以選擇進入你docker中的overlay目錄,通過du -sh *查看下面哪個目錄占用的內(nèi)存比較大,一般是里面的merged目錄和diff目錄下的bin中生成了太多的執(zhí)行文件,把那些刪掉就行了,只需要留下bash即可。
然后重啟docker服務
systemctl restart docker
到此這篇關于Docker Overlay2磁盤空間占用過大清理的方法實現(xiàn)的文章就介紹到這了,更多相關Docker Overlay2磁盤清理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
- docker overlay2 文件夾比較大處理步驟
- 如何清理docker的overlay2 目錄
- docker overlay擴容問題
- Docker深度清除鏡像緩存overlay2的實現(xiàn)
- Docker容器跨主機通信overlay網(wǎng)絡的解決方案
- Docker跨服務器通信Overlay解決方案(上)之 Consul單實例
- docker overlay實現(xiàn)跨主機的容器互通的方法
- docker容器間跨宿主機通信-基于overlay的實現(xiàn)方法
- docker清理大殺器/docker的overlay文件占用磁盤太大的解決
- docker中Overlay網(wǎng)絡的使用小結
相關文章
Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫超詳細攻略
Docker倉庫是集中存放鏡像的地方,分為公共倉庫和私有倉庫,這篇文章主要給大家介紹了關于Docker自定義JDK鏡像并拉取至阿里云鏡像倉庫的相關資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2024-08-08
docker部署minio并使用springboot連接的操作方法
這篇文章主要介紹了docker部署minio并使用springboot連接的操作方法,本文以minio為例結合實例代碼給大家詳細講解,需要的朋友可以參考下2023-11-11
在Docker中的ubuntu中安裝Python3和Pip的問題
這篇文章主要介紹了在Docker中的ubuntu中安裝Python3和Pip的問題,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02
Docker使用編寫dockerfile啟動node.js應用
這篇文章主要介紹了Docker使用編寫dockerfile啟動node.js應用,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-01-01

