docker日志切割

小丫2年前技术文章1275

如果在docker部署前期没有规划好,例如:没有提前配置容器日志切割,那么在后期容器日志就会越来越大,当想要通过日志查看相关报错等信息的时候就会比较麻烦。

配置docker日志切割

在/etc/docker/daemon.json文件中,追加如下内容:

"log-driver": "json-file",
"log-opts": {
    "max-size": "1m", 单个json格式切割轮转阈值,日志文件达到该阈值之后,就会触发切割
    "max-file": "3"    允许保存的最大日志个数
    }

注意:但是该配置需要在容器启动之前就完成,如果是已经运行的容器是无法加载后来新增的配置的。


新创建容器,验证日志文件切割

新创建nginx测试容器:

docker run -itd --name=nginx-04 -p 6666:80 -v /etc/nginx-01/nginx.conf:/etc/nginx/nginx.conf nginx

配置nginx的请求日志输出到终端:

access_log  /dev/stdout  main;

针对目标nginx业务发起压测,使其往json日志中输出对应日志请求

打开postman,简单配置压测请求,并发5000

image.png

可以看到该容器日志正常轮转

image.png

补充知识:

可以通过文件:hostconfig.json,直接核查对应容器加载的日志切割相关配置信息:


已经创建的容器,验证日志文件切割


实验发现,针对已经创建的容器,即使进行容器重启,也不会加载到对应日志切割相关配置:

可以结合查看目标容器的hostconfig.json文件,可以看到:识别到的max-size 200m,该配置依然是之前的配置

image.png


相关文章

MinIO文件服务

MinIO文件服务

MinIO官网地址:docs.min.io/cn/一、Minio简介Minio 是一个基于Apache License v2.0开源协议的对象存储服务。它兼容亚马逊S3云存储服务接口,非常适合于存储大...

证书过期问题之IPV6协议

证书过期问题之IPV6协议

1、首先了解情况:客户的SSL/TLS证书要过期了,所以进行了证书替换工作,但是替换之后,有一部分客户端还是提示证书已过期,如图所示:2、看这个报错是非常的清晰的,就是证书过期的问题,但是为什么同事没...

MySQL mgr部署文档

MySQL mgr部署文档

一、环境说明1.1服务器信息1.2目录规划1.2目录规划二、环境配置2.1 关闭防火墙和selinuxservice iptabls stop /etc/selinux/conf...

ranger审计Solr部署

安装前准备1.1. 创建用户和用户组groupadd solruseradd -g solr solr1.2. 添加环境变量vi /etc/profile export SOLR_HOME=/opt/...

HDFS Fsimage分析磁盘目录(文件级别)

HDFS Fsimage分析磁盘目录(文件级别)

首先获取fsimage信息hdfs dfsadmin -fetchImage  /opt/fsimage格式化fsimage 转换为可读文本hdfs oiv -i /opt/fsimage/fsima...

Dockerfile

Dockerfile

一、什么是镜像?镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。根据上图...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。