docker日志切割

小丫2年前技术文章1617

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


相关文章

HDFS分层存储配置并使用(二)

HDFS分层存储配置并使用(二)

配置并使用HDFS分层存储修改DataNode数据目录,将1块SSD盘设置为SSD,1块设置为DISK,1块设置为ARCHIVE <property>     <name>d...

Trino资源组配置

Trino资源组配置

1 概述Presto作为一个大数据场景下的交互式查询引擎,当使用达到一定规模,就会更多考虑资源分配问题,即保障重要任务优先获取资源。Presto资源组: Presto的资源组机制,是从资源分配的角度...

PostgreSQL 会话管理

说明当数据库发生持续的 CPU 使用率打高时,数据库中很可能正在跑一些大查询或者较复杂的 SQL,如果不及时处理很可能会影响到业务,此时我们需要通过查询会话找到 “罪魁祸首” 并 kill 掉它,然后...

Kafka 单条日志传输大小

kafka 对于消息体的大小默认为单条最大值是1M 但是在我们应用场景中, 常常会出现一条消息大于1M,如果不对kafka 进行配置。则会出现生产者无法将消息推送到kafka 或消费者无法去消费kaf...

数据湖技术之iceberg(九)Spark与Iceberg整合写操作

数据湖技术之iceberg(九)Spark与Iceberg整合写操作

1. INSERT INTO"insert into"是向Iceberg表中插入数据,有两种语法形式:"INSERT INTO tbl VALUES (1,"z...

ES模糊查询(Wildcard Query)导致CPU打满问题

ES模糊查询(Wildcard Query)导致CPU打满问题

一、概述    Wildcard Query是es中实现模糊查询的一种方式,尤其对有SQL经验的人,会常常习惯于它,毕竟这是和SQL里like操作最相似的查询方式,最近一个客户的es集群就在这上面踩了...

发表评论    

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