亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

docker容器日志占滿硬盤空間的問題解決

 更新時間:2023年09月18日 09:52:11   作者:李小碼哥  
由于默認情況下,docker使用json-file類型的日志驅動,該日志驅動默認情況下,每個容器的日志會一直追加在文件名為 containerId-json.log文件中,因此在容器不重建的情況下,該日志文件會一直追加內容,直到占滿整個服務器硬盤空間,本文就來介紹一下解決方法

原因分析

由于默認情況下,docker使用json-file類型的日志驅動,該日志驅動默認情況下,每個容器的日志會一直追加在文件名為 containerId-json.log文件中。因此在容器不重建的情況下,該日志文件會一直追加內容,直到占滿整個服務器硬盤空間,內存消耗也會一直增加,導致服務器發(fā)生故障。

解決方案

方案一 定時清空日志文件

Docker 的日志文件存放在 /var/lib/docker/containers 目錄中,通過下面的命令可以將日志文件夾根據占用空間大小升序的方式羅列出來:

du -d1 -h /var/lib/docker/containers | sort -h

我們只需要寫一下腳本清空該containerId-json.log文件即可。

【clean_docker_containers_logs.sh】

#!/bin/bash
echo "========= start clean docker containers logs ==========="
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
  do
    echo "clean log file : $log"
    cat /dev/null > $log
  done
echo "========= end clean docker containers logs  ==========="

配置 linux的計劃任務,定期清理即可,這里就不再贅述了。

方案二 全局容器日志大小

創(chuàng)建或修改文件 /etc/docker/daemon.json,并增加以下配置:

{
    "log-driver":"json-file",
    "log-opts":{
        "max-size" :"50m",
        "max-file":"3"
    }
}

說明:

max-size=50m,意味著一個容器日志大小上限是50M,max-file=3,意味著一個容器有三個日志,分別是id+.json、id+1.json、id+2.json??梢源嬖诘淖畲笕罩疚募?。如果超過最大值,則會刪除最舊的文件。“僅在max-size設置時有效”,默認為5。

配置完以后一定要重啟docker服務

systemctl daemon-reload
systemctl restart docker

注意:

修改配置后重啟docker只對新建的容器有效,對已存在的容器不會有影響,需要重建才可生效。

方案三 修改日志驅動

docker 的日志驅動有很多種,以下是官網給的列表:

通過以下命令查看當前配置的是哪一種日志驅動

docker info --format '{{.LoggingDriver}}'

提示:使用“本地”日志驅動程序來防止磁盤耗盡缺省情況下,不進行日志旋轉。因此,由默認json文件日志驅動程序存儲的日志文件可能會導致生成大量輸出的容器占用大量磁盤空間,從而導致磁盤空間耗盡。

Docker保留json文件日志驅動程序(沒有日志旋轉)作為默認值,以保持與舊版本Docker的向后兼容性,以及用于將Docker用作Kubernetes運行時的情況。

對于其他情況,建議使用“本地”日志驅動程序,因為它默認執(zhí)行日志輪換,并使用更有效的文件格式。請參閱下面的配置默認日志驅動程序部分,了解如何將“本地”日志驅動程序配置為默認,以及本地文件日志驅動程序頁面,以了解有關“本地”日志驅動程序的更多詳細信息。

官網推薦使用 local 日志驅動,因為他默認支持日志回滾,不會耗盡空間

創(chuàng)建或修改文件 /etc/docker/daemon.json,并增加以下配置

{
  "log-driver": "local"
}

docker常用清理空間命令

# 1.刪除不再使用的數據卷:
$ docker volume rm $(docker volume ls -q) 或者 $ docker volume prune
# 2.刪除 build cache 
docker builder prune
# 3.docker系統一鍵清理沒用的空間
docker system prune
# 4.一鍵刪除所有已經停止的容器
docker container prune
# 5.查看docker占用空間情況
docker system df
# 6.查看docker相關信息
docker info

 到此這篇關于docker容器日志占滿硬盤空間的問題解決的文章就介紹到這了,更多相關docker日志占滿空間內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • docker拉取鏡像超時解決的問題解決

    docker拉取鏡像超時解決的問題解決

    本文解決了由于網絡問題導致的Docker拉取中央倉庫鏡像超時的問題,通過從其他鏡像倉庫拉取鏡像文件來解決這一問題,感興趣的可以了解一下
    2025-03-03
  • Docker無法登錄與推送問題解決的詳細教程

    Docker無法登錄與推送問題解決的詳細教程

    這篇文章主要介紹了如何使用阿里云容器鏡像服務來解決國內訪問Docker?Hub速度慢的問題,并詳細描述了如何設置阿里云鏡像服務、配置Docker、操作鏡像(包括pull和push)以及測試拉取鏡像的過程,需要的朋友可以參考下
    2025-02-02
  • Docker 基礎之Dockerfile命令詳解

    Docker 基礎之Dockerfile命令詳解

    這篇文章主要介紹了Docker 基礎之Dockerfile命令,本文介紹 Dockerfile 的基本結構及其支持的眾多指令,有興趣的可以了解一下
    2017-04-04
  • docker安裝Elasticsearch7.6集群并設置密碼

    docker安裝Elasticsearch7.6集群并設置密碼

    這篇文章主要介紹了docker安裝Elasticsearch7.6集群并設置密碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-06-06
  • Docker遠程連接設置的實現示例

    Docker遠程連接設置的實現示例

    本文主要介紹了Docker遠程連接設置的實現示例,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • Centos7下安裝與卸載docker應用容器引擎的方法

    Centos7下安裝與卸載docker應用容器引擎的方法

    這篇文章主要介紹了Centos7下安裝與卸載docker應用容器引擎的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • Docker配置SSL證書實現遠程訪問

    Docker配置SSL證書實現遠程訪問

    本文主要介紹了使用OpenSSL生成CA證書和服務器證書并配置Docker以支持SSL連接實現遠程訪問,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2025-01-01
  • Docker容器網絡基礎概述

    Docker容器網絡基礎概述

    這篇文章主要介紹了Docker容器網絡基礎概述,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-09-09
  • docker數據卷容器掛載不上的解決方法

    docker數據卷容器掛載不上的解決方法

    docker容器之間可以通過相互掛載實現數據共享,本文主要介紹了docker數據卷容器掛載不上的解決方法,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-06-06
  • docker部署vue項目的實現步驟

    docker部署vue項目的實現步驟

    本文主要介紹了docker部署vue項目的實現步驟,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07

最新評論