zoukankan      html  css  js  c++  java
  • docker日志设置

    最近查看docker日志的时候,使用命令docker log -f 会出现日志无限翻滚的情况,这些日志都是打印到控制台的,但是都被docker收集了起来,放到了/var/lib/docker/containers/{容器id}/*.log中,一般默认的日志格式是{容器id}-json.log,如果日志大小不加限制,很可能日志会无限增长最终撑爆磁盘。

    首先先用命令查看下日志大小情况

    find /var/lib/docker/containers  -name '*.log'  -exec ls -lh {} ;
    

    image-20210422101544085

    可以看到,日志文件都不大。。咳咳

    限制日志文件的大小方式有挺多种

    一、治标:清空日志文件

    使用以下命令直接情况日志文件

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

    二、治本:设置Docker容器日志大小

    1.设置docker运行时日志上限

    nginx: 
      image: nginx:1.12.1 
      restart: always 
      logging: 
        driver: "json-file"
        options: 
          max-size: "5g"
    

    重启docker服务后生效

    2.全局设置

    修改/etc/docker/daemon.json 文件,添加log-dirver和log-opts参数

    {
      "registry-mirrors": ["http://f613ce8f.m.daocloud.io"],
      "log-driver":"json-file",
      "log-opts": {"max-size":"500m", "max-file":"3"}
    }
    

    daemon.json配置文件的详细配置文档链接:https://docs.docker.com/engine/reference/commandline/dockerd/#daemon-configuration-file

    这个则需要重启docker后生效

    service docker restart
    

    三、参考文档

    https://blog.csdn.net/yjk13703623757/article/details/80283729

  • 相关阅读:
    【代码笔记】JTable 、TableModel的使用3
    学习JSP(二)
    Tomcat文件配置
    学习JSP(一)
    配置elipse
    配置Jdk
    定义新运算练习题
    学习JAVA所需的东西
    学习秘籍
    总有那么一个人
  • 原文地址:https://www.cnblogs.com/kuangdaoyizhimei/p/14688415.html
Copyright © 2011-2022 走看看