日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

場景描述

事情是這樣的,前兩天客戶的服務(wù)器突然斷電了,導致用Docker部署的服務(wù)也掛了。昨天去現(xiàn)場,重啟了docker,同時準備更新一下服務(wù)。結(jié)果發(fā)現(xiàn)有一臺節(jié)點硬盤滿了…

還是覺得有些奇怪的,畢竟docker的安裝盤有800多個G的空間,之前也只用了100左右,覺得有點奇怪,就開始了排錯。

用下面命令查看哪個文件夾太大:

  • du -sh *

發(fā)現(xiàn)是 /var/lib/docker/overlay 占滿了

網(wǎng)上查一下這個目錄的作用,說是 overlay/overlay2表示Docker的存儲驅(qū)動。

也就是說容器/鏡像等都會存在這個目錄下,當量大的時候就會占滿硬盤。

繼續(xù)在網(wǎng)上搜資料,說可以看看是不是死掉容器過多的原因,使用 docker ps -a看了下,果然是。于是清理了一下無用的容器,硬盤就恢復正常了……

當Docker的磁盤空間占用超過限制時,可能會導致容器無法創(chuàng)建、存儲和運行。造成磁盤占滿的原因可能包括:

  1. 容器鏡像層過多:每個容器都有其自己的鏡像層,這些層會占用磁盤空間。如果使用的容器鏡像層過多,就會導致磁盤空間不足。

  2. 鏡像下載失敗:在下載鏡像時,如果遇到網(wǎng)絡(luò)故障或者其他問題導致下載失敗,Docker可能會嘗試多次下載,從而生成大量的臨時文件和目錄,占用磁盤空間。

  3. 容器日志文件過大:容器的日志文件會隨著時間的增長而不斷增大,如果日志文件過大,就會占用大量的磁盤空間。
     

針對以上問題,可以采取以下方式來處理:

  1. 清理無用的容器和鏡像:使用docker rm和docker rmi命令刪除不需要的容器和鏡像,以釋放磁盤空間。通過運行 docker rm $(docker ps -a -q) 命令,可以刪除所有不需要的容器。刪除無用的鏡像可以使用 docker rmi $(docker images -f "dangling=true" -q) 

  2. 清理Docker緩存:在下載鏡像時,如果遇到錯誤導致下載失敗,可以刪除/var/lib/docker/overlay*/fAIl目錄下的所有文件,以清理緩存并釋放磁盤空間。

  3. 調(diào)整Docker數(shù)據(jù)目錄的掛載點:將/var/lib/docker的掛載點移動到新的磁盤分區(qū)上,以擴展磁盤空間。可以使用umount命令取消掛載,然后使用mkdir命令創(chuàng)建新的目錄,并重新掛載。

  4. 限制容器日志文件大小:通過設(shè)置容器的日志文件大小限制,避免日志文件過大占用磁盤空間。可以使用docker run命令的--log-driver和--log-opt參數(shù)來設(shè)置日志驅(qū)動和選項。


簡單辦法

多看了一下資料,發(fā)現(xiàn)可以使用

  • docker system prune

來自動清理空間,參考下面:

  • 該指令默認會清除所有如下資源:

    • 已停止的容器(container)

    • 未被任何容器所使用的卷(volume)

    • 未被任何容器所關(guān)聯(lián)的網(wǎng)絡(luò)?.NETwork)

    • 所有懸空鏡像(image)。

  • 該指令默認只會清除懸空鏡像,未被使用的鏡像不會被刪除。

  • 添加 -a 或 --all 參數(shù)后,可以一并清除所有未使用的鏡像和懸空鏡像。

  • 可以添加 -f 或 --force 參數(shù)用以忽略相關(guān)告警確認信息。

  • 指令結(jié)尾處會顯示總計清理釋放的空間大小。

     

    另外,使用下面命令可以查看docker所占的硬盤大小,如:

  • docker system df

 

圖片


繼續(xù)探究,還可以把/var/lib/docker/overlay放到其他地方。

/var/lib/docker/overlay是Docker用于存儲容器鏡像的層疊文件系統(tǒng)的根目錄,可以移動到其他的文件系統(tǒng)中。

在遷移之前,需要確保新的文件系統(tǒng)具有足夠的空間來存儲/var/lib/docker/overlay中的所有文件。同時,在移動后,需要修改Docker配置文件(通常是daemon.json)并重啟Docker服務(wù),以使新的路徑生效。

具體的遷移步驟如下:

  1. 找到新的文件系統(tǒng),并確保它有足夠的可用空間來存儲/var/lib/docker/overlay中的所有文件。

  2. 創(chuàng)建一個新的目錄來作為新的/var/lib/docker/overlay的路徑。例如,可以將新路徑設(shè)置為/mnt/overlay。

  3. 停止Docker服務(wù)。

  4. 使用rsync命令將/var/lib/docker/overlay的所有文件復制到新的路徑中。例如,可以使用以下命令:rsync -avz /var/lib/docker/overlay/ /mnt/overlay。

  5. 修改Docker配置文件(通常是daemon.json),將新的路徑添加到其中。例如,可以添加以下內(nèi)容:"data-root": "/mnt/overlay"。

  6. 啟動Docker服務(wù)。

需要注意的是,在移動/var/lib/docker/overlay后,需要重新構(gòu)建任何已經(jīng)存在的容器,因為新的路徑在啟動時不會自動映射到舊的路徑。

如果你的docker容器占滿了磁盤空間,可以參考本文進行處理,希望能夠幫助到你,如果有其他建議也歡迎發(fā)消息給我們。

分享到:
標簽:Docker
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定