liunx內(nèi)存滿了,docker中overlay2爆表解決方案
liunx內(nèi)存滿了,docker中overlay2爆表
最近做項目發(fā)現(xiàn)了一個問題,我在liunx運(yùn)行了nacos服務(wù),但是在上傳的時候發(fā)現(xiàn)了這個問題
org.springframework.web.multipart.MultipartException: Failed to parse multipart servlet request; nested exception is java.io.IOException: org.apache.tomcat.util.http.fileupload.FileUploadBase$IOFileUploadException: Processing of multipart/form-data request failed. /home/nacos/work/Tomcat/localhost/nacos/upload_6409cdc9_9dcc_4f8c_9029_a1672a38bf20_00000002.tmp (No space left on device)
說明了一個問題
Liunx內(nèi)存中不夠內(nèi)存再分配了。
于是趕緊到Liunx中查看
執(zhí)行以下命令:
df -h

看到root爆炸100%,以及overlay也是爆滿了
網(wǎng)上找了很多操作,甚至啟用了docker system pruna(刪除長時間未使用的容器 未掛在容器 關(guān)閉的容器等) 容器的刪除,操作,但是這個操作很危險,還是建議不這樣做
采取另外一種方案:清理內(nèi)存:刪除Log日志,一些不用的數(shù)據(jù)卷等
因為,如果你的docker長時間運(yùn)行,它就會產(chǎn)生非常多的Log日志,這就需要清理
具體操作如下:
1、清理 /var/lib/docker/containers 目錄
先創(chuàng)建清理腳本文件,這里名為 docker_logs_clean.sh ,可以自定義,命令如下:
touch docker_logs_clean.sh # 賦予修改權(quán)限 chmod +777 docker_logs_clean.sh
加入如下腳本:
echo "======== start clean docker containers logs ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
echo "clean containers logs : $log"
cat /dev/null > $log
done
echo "======== end clean docker containers logs ========"執(zhí)行腳本:
sh docker_logs_clean.sh start
2、清理 /var/lib/docker/volumes 目錄
這個操作清理日志
find /var/lib/docker/volumes -name "*.log"
可以看到長時間運(yùn)行有非常多的日志沒有清理

執(zhí)行以下命令進(jìn)行清除
find /var/lib/docker/volumes -type f -name "*.log" -delete
通過上述兩種清理方式,再查看內(nèi)存如下:

整體的使用率都降下來了,包括root占用也下降了不少
非常實用!??!
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Docker?Desktop安裝指南及漢化超詳細(xì)教程
Docker?Desktop是一種開源的應(yīng)用容器引擎,它允許開發(fā)者將他們的應(yīng)用及依賴項打包到一個可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上,這篇文章主要介紹了Docker?Desktop安裝指南及漢化的相關(guān)資料,需要的朋友可以參考下2026-05-05
詳解利用Dockerfile構(gòu)建mysql鏡像并實現(xiàn)數(shù)據(jù)的初始化及權(quán)限設(shè)置
本篇文章主要介紹了詳解利用Dockerfile構(gòu)建mysql鏡像并實現(xiàn)數(shù)據(jù)的初始化及權(quán)限設(shè)置 ,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06
Docker自定義網(wǎng)絡(luò)詳細(xì)介紹
大家好,本篇文章主要講的是Docker自定義網(wǎng)絡(luò)詳細(xì)介紹,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下,方便下次瀏覽2021-12-12
docker容器間進(jìn)行數(shù)據(jù)共享的三種實現(xiàn)方式
本文主要介紹了docker容器間進(jìn)行數(shù)據(jù)共享的三種實現(xiàn)方式,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-05-05
解決Ubuntu中Docker安裝時“無法找到軟件包”錯誤的解決方案
在Ubuntu中安裝Docker時遇到“無法找到軟件包”錯誤,通常是由于軟件源未正確配置或更新、軟件包名稱錯誤或已更改等原因造成的,解決方法包括添加Docker官方軟件源、更新軟件包列表、重新安裝Docker等2026-01-01

