打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
两种方式自动处理docker日志文件

一、通过配置daemon.json设置日志文件大小,针对新产生的容器文件

docker限制容器日志大小
1.新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:

# vim /etc/docker/daemon.json

{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

2.然后重启docker的守护线程

命令如下:

systemctl daemon-reload
systemctl restart docker

注意:设置的日志大小,只对新建的容器有效。

二、建立定时任务清理日志脚本, 针对已经产生的容器文件

vi clearDockerlog.sh
------------------------------------------------------
#!/bin/sh
echo "======== 清理容器日志文件超过1G的文件 ========"

#需要设置好docker的路径 【/home/docker/docker/containers/】
logs=$(find /home/docker/docker/containers/ -name *-json.log)

for log in $logs
do
#ls -lh $log

FILE_SIZE=`ls -l $log | awk '{print $5}'`
#echo $FILE_SIZE

#1G = 1073741824 字节
#2G=2×1024×1024×1024=2147483648B(字节)

if [ $FILE_SIZE -ge 1073741824 ]
then
echo "清理超过1G文件 $log"
cat /dev/null > $log
fi
done
------------------------------------------------------
:wq

编辑好这个文件clearDockerlog.sh
再设置好crontabs定时任务(注1)去调用,就可以定时清理了。

注1:
linux配置定时任务crontabs
http://101.39.231.108:9966/?p=74

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Docker容器日志查看与清理(亲测有效)
面向容器日志的技术实践
json log文件 过大
Docker的daemon.json的作用
深入分析Docker镜像原理
老司机实战Windows Server Docker:4 单节点Windows Docker服务器简...
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服