docker日志设置

摘要:
首先,使用命令查看日志大小find/var/lib/locker/containers-name'*。日志“-exels-lh{};图:nginx:driver:“json file”选项:“5g”在Docker服务重启后生效。2.修改/etc/docker/daemon的全局设置。json文件:“3”}}守护进程的详细配置文档链接。json配置文件:

最近查看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

免责声明:文章转载自《docker日志设置》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇SQLSERVER加密解密函数(非对称密钥 证书加密 对称密钥)转义、编码和加密下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Doxygen的输出中文乱码

最近开始尝试使用Doxygen生成程序的文档。程序的源代码采用的是GB2312的格式存储的,而Doxygen输出的文档是UTF-8格式的,出现了乱码。虽然Visual Studio 2003支持以UTF-8格式存储源代码,但是要把所有文件都转换担心太麻烦。于是,在配置文件中增加了一行代码: INPUT_ENCODING = GB2312  这下问题解决了,...

springboot配置文件详解

https://blog.csdn.net/myvanguard/article/details/84844583 简介 springboot的默认配置文件 application.propertiesapplication.ymlyaml是标记语言,是以数据为中心的的配置文件 server: port:8081 12342.yaml语法1.基本语法k:(...

vscode 对于 C 源文件,IntelliSenseMode 已根据编译器参数和探测 compilerPath 从“clang-x64”更改为“gcc-x64”

vscode 不知道从什么时候开始出现 对于 C 源文件,IntelliSenseMode 已根据编译器参数和探测 compilerPath 从“clang-x64”更改为“gcc-x64” 的信息 解决方案 .vscode 文件夹 -> c_cpp_properties.json 文件 -> 将 "intelliSenseMode": "cl...

Altium Designer(AD软件)如何导出gerber文件

gerber文件输出包括2部分:一、Gerber Files;二、Nc Drill Files;分3次导出; 文件导出是在.PCB项目文件选中情况下进行。 1.PCB的尺寸外形标注一般在mechanical 1、2层; 2.设定原点(若还没设定的话,设定时选择基板左下角) Edit-Origin-Set; 3.输出其一:gerber文件(File-Fab...

Docker下安装Sqlserver(mssql)

1.服务器需要大于2G内存。如果不够则可能无法正常启动,查看日志报如下错误:This program requires a machine with at least 2000 megabytes of memory 2.获取sqlserver镜像 docker pull mcr.microsoft.com/mssql/server:2017-lates...

Linux命令(六) 查看文件 cat tac more less tail

如果要查看文件,使用 cat  less  tac   tail  和 more 中的任意一个即可。 1.cat     使用 cat 命令查看文件时会显示整个文件的内容,注意cat只能查看文本文件的内容,如查看二进制文件,则屏幕会显示乱码。另外 cat 可创建文件、合并文件等。 命令格式: cat [选项] [参数] 选项:   -A    等同于 -...