docker日志切割

小丫2年前技术文章2042

如果在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


相关文章

prometheus  web页面卡顿无法使用问题

prometheus web页面卡顿无法使用问题

详细描述:卡顿位置主要位于输入页面输入PromQL的地方,只要碰到那个框,页面就会卡死【分析过程】查看浏览器cpu发现,只要动了那个框内的内容,cpu就会打满;   如果提前编辑好查询的sql内容...

MySQL 评估 ALTER TABLE 进度(5.7)

MySQL 评估 ALTER TABLE 进度(5.7)

一、前言问题:大表里执行 ALTER TABLE 的时候,经常会比较忐忑,会面临 “跑又跑不完 Kill 也不敢 Kill” 的窘境。需求:客户在执行 ALTER TABLE 时也会让我们来评估影响的...

 oracle11g打补丁31718723报错Operation not permitted

oracle11g打补丁31718723报错Operation not permitted

oracle11g 在打gi补丁的时候报错如下:原因:参考mos(Doc ID 2668094.1)可知因为Linux/Unix平台上,安装后一些Oracle可执行文件的权限需要修改成root。这是以...

Linux进程的几种状态之R、S、D、T、Z

Linux是一个多用户,多任务的系统,可以同时运行多个用户的多个程序,就必然会产生很多的进程,而每个进程会有不同的状态。1.R(TASK_RUNNING),可执行状态&运行状态(在run_qu...

Storage Classes之nfs provisioner

Storage Classes之nfs provisioner

每个 StorageClass 都有一个制备器(Provisioner),用来决定使用哪个卷插件制备 PV。 该字段必须指定。这里我们使用nfs作为StorageClass的制备器,官方并未对nfs进...

SQL隐式转换导致索引失效_函数

SQL隐式转换导致索引失效_函数

一、隐式转换分类1.函数2.数据类型3.字符集4.校验规则二、常见案例本节将会针对第一部分提到的四种隐式转换内容,举例说明。1.索引列使用函数导致索引失效示例 SQL 如下,该 SQL 的 where...

发表评论    

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