docker 存儲(chǔ)導(dǎo)致 /dev/sdb2磁盤溢滿

linux 系統(tǒng)報(bào)錯(cuò): cannot create temp file for here-document: No space left on device,顯然是磁盤完全占用,無(wú)剩余

方法:

首先,查看磁盤的使用情況的,命令:df -h, /dev/sdb2 作為我服務(wù)器默認(rèn)根目錄所在,最重要的是默認(rèn)系統(tǒng)軟件安裝,安裝了許多包,/dev/sdb2磁盤爆滿



然后, 查看/dev/sdb2磁盤內(nèi)不同文件夾具體占用情況,命令:du -sh ./*,其中./var占用最大,同理進(jìn)入/var目錄下進(jìn)一步查看,./lib占用最大,/var/lib目錄是系統(tǒng)默認(rèn)包安裝地址,發(fā)現(xiàn)其下的docker占用磁盤317G;

原因:隨著docker image 和container的增多,導(dǎo)致磁盤過(guò)度占用;

最簡(jiǎn)單的解決方法:將 dcoker 存儲(chǔ)目錄轉(zhuǎn)移到其他空余磁盤

首先:暫停docker服務(wù):sudo systermctl stop docekr.service

然后:轉(zhuǎn)移docker 存儲(chǔ),并在/va/lib/目錄創(chuàng)建對(duì)應(yīng)軟鏈接:

sudo mv /var/lib/docker /mnt/

cd /var/lib; sudo ln -st /mnt/docker dokcer


/va/lib/目錄需要?jiǎng)?chuàng)建鏈接原因:docker 的默認(rèn)存儲(chǔ)路徑(Docker Root Dir)在/var/lib/docker ,原來(lái)的創(chuàng)建的images和containers的配置文件需要在/var/lib/docker下查找,故轉(zhuǎn)移/var/lib/docker之后,必須將對(duì)應(yīng)的轉(zhuǎn)移文件地址參數(shù)傳遞給系統(tǒng),否則無(wú)法查找到之前創(chuàng)建的images和containers,不能有效加載到docker環(huán)境;

最后:重新啟動(dòng)docker服務(wù)

sudo systermctl daemon-reload # 重新加載系統(tǒng)變量,主要是/var/lib/docker-->/mnt/docker鏈接的加載

sudo systermctl start docker.service # 重啟

經(jīng)驗(yàn)小結(jié):

沒(méi)有創(chuàng)建鏈接前,我將docker的配置文件中的存儲(chǔ)目錄修改為/mnt/docker ,雖然docker運(yùn)行了,但是docker之間創(chuàng)建的images和containers都未能加載到環(huán)境中蹦年使用,添加了軟鏈接之后,就可以全部加載原來(lái)的images和containers,之后我將docker系統(tǒng)配置又修改回去了,有了/var/lib/docker指向/mnt/docker的系統(tǒng)鏈接之后,不再需要修改docker的任何配置文件了;

ubuntu18.04 docker配置文件: /etc/systemd/system/multi-user.target.wants/docker.service

參考博文:

https://blog.csdn.net/zb408832388/article/details/103481443

https://blog.csdn.net/zb408832388/article/details/103481443

http://m.itdecent.cn/p/ef4a2268bdf1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容