docker日志设置
2024-08-29 23:18:26
最近查看docker日志的时候,使用命令docker log -f 会出现日志无限翻滚的情况,这些日志都是打印到控制台的,但是都被docker收集了起来,放到了/var/lib/docker/containers/{容器id}/*.log中,一般默认的日志格式是{容器id}-json.log,如果日志大小不加限制,很可能日志会无限增长最终撑爆磁盘。
首先先用命令查看下日志大小情况
find /var/lib/docker/containers -name '*.log' -exec ls -lh {} \;
可以看到,日志文件都不大。。咳咳
限制日志文件的大小方式有挺多种
一、治标:清空日志文件
使用以下命令直接情况日志文件
#!/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
最新文章
- iOS开发——创建你自己的Framework
- Servlet中的常用类以及常用方法
- offer
- 说一说vector<;bool>;
- 使用本地JConsole监控远程JVM (转)
- Composite(组合)--对象结构型模式
- 使用javap反编译class文件
- corefile的设置与使用
- FastJSON应用前测试--转载
- js字面量
- [DP优化方法之斜率DP]
- [js高手之路]搞清楚面向对象,必须要理解对象在创建过程中的内存表示
- Java缓存类的实际应用场景
- XML的几种转换
- configEnvironment()源码探究
- UE4 C++ 笔记
- Java 8 新特性:2-消费者(Consumer)接口
- 转://Oracle数据库补丁分析实践
- [UE4]GameInstance初始化
- ubuntu journalctl — 检索 systemd 日志
热门文章
- 理解ASP.NET Core 中的WebSocket
- 40. 组合总和 II + 递归 + 回溯 + 记录路径
- pytorch(01)环境配置及安装
- Java 查找算法
- rest-framework routers
- WPF 应用 - 通过 js 缩放 System.Windows.Controls.WebBrowser 的内容
- 制作API离线chm帮助文件教程
- 【linux】驱动-2-内核模块
- 详解 ZooKeeper 数据持久化
- java例题_42 求满足809*??=800*??+9*??+1的??的值