docker日志切割

小丫2年前技术文章1359

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


相关文章

离线部署Mysql 8.X

离线部署Mysql 8.X

安装包和环境准备将mysql-8.0.23-el7-x86_64.tar.gz安装包上传至服务器wget https://cdn.mysql.com/archives/mysql-8.0/mysql-...

EMR-flinksql运行失败问题

EMR-flinksql运行失败问题

运行flinksqlsql-client.sh报错:[root@emr1 bin]# ./sql-client.shSLF4J: Class path contains multiple SLF4J...

大数据自动化巡检系统使用说明

大数据自动化巡检系统使用说明

1. 大数据自动化巡检系统首页显示巡检集群数量、巡检模版、巡检指标、当日巡检情况等,如下图所示2. 自动化巡检提供基础配置,提供给两种巡检集群对接方式,一种是可以对接外部集群,通过系统接口调用,一种是...

查看 Redis 不过期 key

查看 Redis 不过期 key

一、使用 Rdbtools 工具包使用 Rdbtools 工具包通过分析备份 rdb 文件,可以查看期间大 key 情况及过期时间情况。输出 csv 文档列信息情况详见下方附件--安装 rdb 工具包...

DBeaver连接Trino

DBeaver连接Trino

1、背景trino 开启https,需要通过dbeaver进行连接DBeaver版本:21.2.02、解决办法下载安装dbeaver打开选择选择trino填写主机如果trino开启https,则可以使...

开源大数据集群部署(六)Keytab文件生成

开源大数据集群部署(六)Keytab文件生成

1、 创建keytab文件除了使用明文密码登录之外,Kerberos还可以使用keytab密码文件登陆,现在为testcuser创建它的keytab文件ipa-getkeytab -s ipa.hdp...

发表评论    

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