最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Docker磁盤清理之安全釋放overlay2空間的方法

 更新時(shí)間:2025年11月20日 11:24:58   作者:Qinti_mm  
在使用docker時(shí),往往會(huì)出現(xiàn)磁盤空間不足,導(dǎo)致該問題的通常原因是因?yàn)閐ocker中部署的系統(tǒng)輸出了大量的日志內(nèi),這篇文章主要介紹了Docker磁盤清理之安全釋放overlay2空間的方法,需要的朋友可以參考下

前言

/var/lib/docker/overlay2 是 Docker 采用 overlay2 存儲(chǔ)驅(qū)動(dòng)時(shí)的核心目錄,用于存儲(chǔ)容器的鏡像層、容器層數(shù)據(jù)及元信息,是 Docker 占用磁盤空間的主要位置。以下是詳細(xì)說明及清理方法:

一、目錄核心作用與結(jié)構(gòu)

  1. 核心功能overlay2 是 Docker 推薦的存儲(chǔ)驅(qū)動(dòng)(替代舊版 overlay),采用 “堆疊式文件系統(tǒng)”,將鏡像的只讀層(lowerdir)和容器的可寫層(upperdir)合并為容器的運(yùn)行時(shí)文件系統(tǒng)(merged)。/var/lib/docker/overlay2 正是這些層數(shù)據(jù)的存儲(chǔ)目錄,所有鏡像層、容器的讀寫層、以及層之間的關(guān)聯(lián)信息都保存在這里。

  2. 目錄結(jié)構(gòu)目錄下主要包含兩類子目錄:

    • 鏡像層 / 容器層目錄:以長(zhǎng)哈希值命名(如 abc123...),每個(gè)目錄對(duì)應(yīng)一個(gè)鏡像層或容器層,包含該層的文件數(shù)據(jù)(diff 目錄)和元信息(linklower 等文件)。

    • l 開頭的短鏈接目錄:用于解決 Linux 對(duì)長(zhǎng)路徑的限制,是哈希目錄的軟鏈接(如 lABCDE... -> ../abc123...)。

二、為什么需要清理?

  • 磁盤占用過大:隨著鏡像拉取、容器創(chuàng)建 / 刪除,overlay2 會(huì)殘留大量未被引用的鏡像層(如懸空鏡像)、停止的容器層、日志文件等,可能導(dǎo)致磁盤占滿。

  • 垃圾文件堆積:Docker 不會(huì)自動(dòng)清理所有無(wú)用數(shù)據(jù)(如刪除容器后未清理的可寫層),需手動(dòng)觸發(fā)清理。

三、安全清理方法

1. 基礎(chǔ)清理:使用 Docker 官方命令(推薦)

Docker 提供了 prune 系列命令,安全刪除無(wú)用資源,避免直接操作 overlay2 目錄(可能導(dǎo)致數(shù)據(jù)損壞)。

  • 清理懸空鏡像(dangling images)懸空鏡像是指無(wú)標(biāo)簽(none:none)的鏡像層,通常是構(gòu)建或拉取鏡像的殘留:

    docker image prune
    
  • 清理所有未使用的鏡像(不影響運(yùn)行中容器)包括無(wú)標(biāo)簽和有標(biāo)簽但未被容器引用的鏡像:

    docker image prune -a  # 加 -f 可跳過確認(rèn)
    
  • 清理停止的容器、無(wú)用網(wǎng)絡(luò)、緩存卷

    # 清理停止的容器
    docker container prune
    
    # 清理無(wú)用網(wǎng)絡(luò)
    docker network prune
    
    # 清理無(wú)關(guān)聯(lián)的卷(謹(jǐn)慎!卷可能包含重要數(shù)據(jù))
    docker volume prune
    
  • 一鍵清理所有無(wú)用資源包括停止的容器、懸空鏡像、無(wú)用網(wǎng)絡(luò)、緩存卷(注意:不會(huì)刪除運(yùn)行中容器使用的資源):

    docker system prune -a  # 加 -f 跳過確認(rèn),加 --volumes 同時(shí)清理卷(危險(xiǎn)?。?
    

2. 進(jìn)階清理:處理異常大文件或殘留

若官方命令清理后空間仍不足,可能存在異常殘留(如容器崩潰后的孤立層、超大日志文件):

  • 查找 overlay2 下的大文件

    # 查看 overlay2 目錄總大小
    du -sh /var/lib/docker/overlay2
    
    # 查找目錄下大于100MB的文件(按大小排序)
    find /var/lib/docker/overlay2 -type f -size +100M -exec du -sh {} \; | sort -hr
    
  • 清理容器日志(常見空間占用源)容器日志默認(rèn)存儲(chǔ)在 overlay2 對(duì)應(yīng)容器層的 diff/var/log/ 或通過 json-file 驅(qū)動(dòng)存在 /var/lib/docker/containers/,可手動(dòng)截?cái)嗷蚺渲萌罩据嗈D(zhuǎn):

    # 查看容器日志大小
    docker inspect --format='{{.LogPath}}' <容器ID>  # 找到日志文件路徑
    truncate -s 0 <日志文件路徑>  # 清空日志(不停止容器)
    
  • 刪除孤立的 overlay2 層(謹(jǐn)慎操作)極少數(shù)情況,Docker 元數(shù)據(jù)損壞會(huì)導(dǎo)致 overlay2 目錄殘留未被引用的層(無(wú)對(duì)應(yīng)的鏡像 / 容器),可通過 docker system df 檢查是否有 RECLAIMABLE 資源,或借助工具 docker-gc 清理(需停止 Docker 服務(wù),風(fēng)險(xiǎn)較高,建議備份后操作)。

3. 預(yù)防措施:限制資源占用

  • 配置 Docker 日志輪轉(zhuǎn):在 /etc/docker/daemon.json 中設(shè)置日志大小限制,避免單容器日志過大:

    {
      "log-driver": "json-file",
      "log-opts": {
        "max-size": "10m",  # 單文件最大10MB
        "max-file": "3"     # 最多保留3個(gè)文件
      }
    }
    

    重啟 Docker 生效:systemctl restart docker。

  • 定期自動(dòng)清理:通過 crontab 定時(shí)執(zhí)行 docker system prune -af(適合非生產(chǎn)環(huán)境,生產(chǎn)環(huán)境需評(píng)估影響)。

四、注意事項(xiàng)

  1. 禁止直接刪除 overlay2 目錄下的文件:手動(dòng)刪除可能導(dǎo)致鏡像 / 容器元數(shù)據(jù)不一致,引發(fā) Docker 服務(wù)異常(如無(wú)法啟動(dòng)、容器崩潰)。

  2. 生產(chǎn)環(huán)境清理前備份:尤其是卷數(shù)據(jù)(/var/lib/docker/volumes),避免誤刪業(yè)務(wù)數(shù)據(jù)。

  3. 確認(rèn)容器狀態(tài):清理前確保不需要的容器已停止,prune 命令默認(rèn)不影響運(yùn)行中容器,但 -a 會(huì)刪除未運(yùn)行容器引用的鏡像。

通過以上方法,可安全釋放 overlay2 目錄占用的磁盤空間,同時(shí)避免數(shù)據(jù)風(fēng)險(xiǎn)。

總結(jié)

到此這篇關(guān)于Docker磁盤清理之安全釋放overlay2空間的文章就介紹到這了,更多相關(guān)Docker釋放overlay2空間內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 將spring boot應(yīng)用打入docker中運(yùn)行的實(shí)現(xiàn)方法

    將spring boot應(yīng)用打入docker中運(yùn)行的實(shí)現(xiàn)方法

    這篇文章主要介紹了將spring boot應(yīng)用打入docker中運(yùn)行的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • 更改Docker默認(rèn)數(shù)據(jù)目錄解決部署空間不足問題

    更改Docker默認(rèn)數(shù)據(jù)目錄解決部署空間不足問題

    隨著使用 Docker 的時(shí)間增加,存儲(chǔ)在默認(rèn)數(shù)據(jù)目錄(通常是 /var/lib/docker)中的數(shù)據(jù)量也會(huì)不斷增大,最終可能導(dǎo)致服務(wù)器上的存儲(chǔ)空間不足,這篇文章將詳細(xì)介紹如何更改 Docker 的默認(rèn)數(shù)據(jù)目錄,以便在服務(wù)器上釋放存儲(chǔ)空間并優(yōu)化資源利用,需要的朋友可以參考下
    2024-06-06
  • 使用Docker打包和運(yùn)行Java鏡像的完整指南

    使用Docker打包和運(yùn)行Java鏡像的完整指南

    在這篇文章中,我們將詳細(xì)講解如何使用Docker打包和運(yùn)行一個(gè)Java應(yīng)用鏡像,通過此教程,即使你是一個(gè)小白,也能輕松學(xué)會(huì)如何構(gòu)建Docker鏡像并運(yùn)行Java應(yīng)用,感興趣的小伙伴跟著小編一起來看看吧
    2025-01-01
  • docker快速安裝Es和kibana的實(shí)現(xiàn)步驟

    docker快速安裝Es和kibana的實(shí)現(xiàn)步驟

    在工作過程中,經(jīng)常需要測(cè)試環(huán)境搭建Es環(huán)境,本文主要介紹了docker快速安裝Es和kibana,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Dockerfile文件詳細(xì)介紹

    Dockerfile文件詳細(xì)介紹

    Dockerfile 是一個(gè)文本文件,里面包含組裝新鏡像時(shí)用到的基礎(chǔ)鏡像和各種指令。使用dockerfile 文件來定義鏡像,然后運(yùn)行鏡像,啟動(dòng)容器。本文詳細(xì)介紹了Dockerfile文件,感興趣的小伙伴可以參考一下
    2023-04-04
  • docker 運(yùn)行指定內(nèi)存的操作

    docker 運(yùn)行指定內(nèi)存的操作

    這篇文章主要介紹了docker 運(yùn)行指定內(nèi)存的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2021-03-03
  • 阿里云系統(tǒng)安裝docker的操作記錄

    阿里云系統(tǒng)安裝docker的操作記錄

    這篇文章主要介紹了阿里云系統(tǒng)安裝docker,阿里云里面的Redis鏡像最新版也就到6.0,為了安裝最新的7.2的redis 只能用本地window 安裝DockerDesktop,然后安裝最新的redis 把鏡像導(dǎo)出來,再導(dǎo)入到云服務(wù),需要的朋友可以參考下
    2024-07-07
  • docker部署crownblog項(xiàng)目到阿里云的方法步驟

    docker部署crownblog項(xiàng)目到阿里云的方法步驟

    這篇文章主要介紹了docker部署crownblog項(xiàng)目到阿里云的方法步驟,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • Docker部署MySQL8集群(一主二從)的實(shí)現(xiàn)步驟

    Docker部署MySQL8集群(一主二從)的實(shí)現(xiàn)步驟

    本文主要介紹了Docker部署MySQL8集群,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • docker: invalid reference format.問題

    docker: invalid reference format.問題

    這篇文章主要介紹了docker: invalid reference format.問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-01-01

最新評(píng)論

闽侯县| 武功县| 修武县| 中西区| 藁城市| 潜江市| 长阳| 西峡县| 嘉荫县| 辽宁省| 蒙城县| 东乡| 玉林市| 仁布县| 吉首市| 汉中市| 峨山| 榆社县| 应城市| 南丰县| 修水县| 毕节市| 四川省| 遂溪县| 苏尼特右旗| 盈江县| 辉南县| 滨海县| 五河县| 青海省| 兴业县| 玉溪市| 新建县| 临江市| 凤山市| 济阳县| 陇川县| 北流市| 集贤县| 仁化县| 虞城县|