网站首页 > 精选文章 / 正文
背景
最近在线上巡检多台服务器的时候,发现容器目录特别庞大。
由于线上环境服务较多,所以很谨慎的进行了排查。最终发现docker容器自身在运行时产生一个以容器id-json命名的log文件。对于部署高频服务的容器,时间长了占用磁盘空间会非常大。
查看docker容器日志路径
# docker inspect --format='{{.LogPath}}' e3b9d8ce0d63
/data/docker/containers/f825.....fad1f24372d-json.log
# 该日志可以直接访问
tail -f /data/docker/containers/f825.....fad1f24372d-json.log
解决方案
一、临时手动清空log日志
cat /dev/null > 容器id-json.log
echo '' > 容器id-json.log
可以查看所有容器日志路径:
find /data/docker/containers/ -name *-json.log
结果如图:
批量删除
#!/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 run -it --log-opt max-size=24m --log-opt max-file=2 alpine ash
max-size 日志最大限制
max-file 日志最数量
三、修改全局配置文件
创建或修改文件 /etc/docker/daemon.json,并增加以下配置
{
"log-driver":"json-file",
"log-opts":{
"max-size" :"50m","max-file":"1"
}
}
然后记得重启dokcer。
需要注意的是:已存在的容器不会生效,需重建容器。
文章参考 解决docker运行日志太大问题_docker日志文件过大-CSDN博客
Tags:查看容器日志
猜你喜欢
- 2024-12-15 Docker容器日志清理(简单运维) docker 日志清理
- 2024-12-15 Kubernetes中常用的日志收集方案 kubernetes 日志方案
- 2024-12-15 阿里开源分布式数据库PolarDB-X简介和快速安装部署
- 2024-12-15 大数据之-Hadoop3.x_Yarn_常用命令---大数据之hadoop3.x_0147
- 2024-12-15 树莓派--搭建蜜罐 树莓派妙用
- 2024-12-15 还在用命令行看日志?快用Kibana吧,可视化日志分析YYDS
- 2024-12-15 docker常见面试题,祝你顺利拿到offer
- 2024-12-15 Kubernetes 集群中日志采集的几种玩法
- 2024-12-15 「云原生」K8s pod 优雅退出(钩子函数 postStart 和 preStop)
- 2024-12-15 深入Docker容器之日志篇 docker容器日志输出