查看docker日志位置(不同的系统位置可能不一样) 本文以centos为例 参考: https://www.cnblogs.com/YatHo/p/7866029.html 指令: journalctl -u docker.service docker 日志位置 进入容器目录 可以看到日志 -.json.log就是日志 删除日志脚本 出至: https://blog.csdn.net/wang0112233/article/details/109819709 命名为delete_log .sh放在 /data/lib/docker/containers
#!/bin/sh
echo "======== start clean docker containers logs ========"
logs=$(find /data/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 ========"
可能会遇见格式问题 参考: https://blog.csdn.net/limm33/article/details/53043988
另外可以设置docker日志大小,前提是docker需要重启或者docker容器需要重建,可以参考: https://www.cnblogs.com/testzcy/p/7904829.html
因为这个需要重建容器 所以写个定时器 定时执行脚本就行了 参考: https://blog.csdn.net/lc013/article/details/103775702 为了防止自己写错了先整一个测试 写一个test.sh
date >> /data/lib/docker/containers/data.log
给test.sh 赋权
chmod 777 test.sh
然后设置 crontab 定时任务 指令 crontab -e 跟 vim 操作一样 下面一行指令的意思是 每分钟执行一次test.sh文件
*/1 * * * * /data/lib/docker/containers/test.sh
然后重启crontab service crond restart
等一分钟 然后就改成delete_log.sh 即可
* * */1 * * /data/lib/docker/containers/delete_log.sh
然后重启crontab service crond restart
|