程序笔记   发布时间:2022-07-11  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了Docker容器日志清理大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

背景

docker容器在运行过程中会产生日志,日志的量跟具体的容器有关。 比如最近在工作中用到了SELEnium和scrapyd等容器,运行过程中产生的日志特别多,刚开始部署服务没在意日志的设定,一段时间后直接导致服务器磁盘存储占用达到100%,程序崩溃。 因此有必要对容器日志做出限制或定期清理等方案。

日期清理方案

确定日志存储位置

对于linux,我用的是centos7,容器日志的存放位置为 /var/lib/docker/containers/<container_id>/ ,日志文件名字格式为 <container_id>-json.log 。 如下图,文件的大小为字节。

Docker容器日志清理

清理日志

手动清理

可手动删掉该日志文件,但是删除的时候要将容器暂停

编写脚本

:该脚本参源自 https://www.jianshu.com/p/28f1ACB11f6b ,亲测可行

#!/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 ========"  

可使用crontab等工具,定时自动执行该脚本,此脚本执行时无需关闭容器。 crontab的简单使用可参 https://www.cnblogs.com/wangzg97/p/15261660.html

大佬总结

以上是大佬教程为你收集整理的Docker容器日志清理全部内容,希望文章能够帮你解决Docker容器日志清理所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。