解决Docker容器日志占用空间过大

Rancher入门到精通-2.0 压测后docker容器空间特别大如何查询分析 进入节点后 cd /var/lib/docker/containers du -sh * 找到文件大的容器 docker 容器的日志文件很大 如何处理呢 在rancher中找到对应节点的 pod 删除当前pod 大文件 日志消失了 ... 阅读详情

问题
docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。

解决方法
2.1 找出Docker容器日志
在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面,查看各个日志文件大小的脚本docker_log_size.sh,内容如下:

#!/bin/sh 
echo "======== docker containers logs file size ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

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

chmod +x docker_log_size.sh

./docker_log_size.sh

2.2 清理Docker容器日志(治标)
如果docker容器正在运行,那么使用rm -rf方式删除日志后,通过df -h会发现磁盘空间并没有释放。原因是在Linux或者Unix系统中,通过rm -rf或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink)。如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。正确姿势是cat /dev/null > *-json.log,当然你也可以通过rm -rf删除后重启docker。接下来,提供一个日志清理脚本clean_docker_log.sh,内容如下:

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

chmod +x clean_docker_log.sh

./clean_docker_log.sh

但是,这样清理之后,随着时间的推移,容器日志会像杂草一样,卷土重来。

2.3 设置Docker容器日志大小(治本)
设置一个容器服务的日志大小上限
上述方法,日志文件迟早又会涨回来。要从根本上解决问题,需要限制容器服务的日志大小上限。这个通过配置容器docker-compose的max-size选项来实现

nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: “json-file” 
    options: 
      max-size: “5g” 

重启nginx容器之后,其日志文件的大小就被限制在5GB,再也不用担心了。

全局设置
新建/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。

// 重启docker守护进程

#systemctl daemon-reload

systemctl restart docker

利用Spm12进行fMRI数据分析:从预处理到结果解读的完整指南 本文提供了利用SPM12进行fMRI数据分析的完整流程指南,涵盖从数据预处理、统计建模到结果解读的全过程。详细介绍了在MATLAB环境下使用SPM12图形界面完成头动矫正、空间标准化等关键步骤的操作方法与避坑技巧,帮助神经科学研究者和心理学研究者高效处理功能磁共振成像数据并产出可靠结果。 阅读详情

相关推荐

CRPR的三种关键影响:从SI、OCV到Min Pulse Width的时序优化实践

本文深入探讨了CRPR(时钟重汇聚悲观度消除)在芯片时序优化中的三种关键影响:信号完整性(SI)、片上变异(OCV)和最小脉宽检查。通过实际案例分析和技术细节,展示了CRPR如何有效修正时序分析中的过度保守估计,提升设计精度。文章特别强调了SI-aware CRPR的调试技巧和OCV补偿的最佳实践,为芯片设计工程师提供了宝贵的时序优化指导。

weixin_30920853的博客 379

清理 docker容器 占用的磁盘空间

Docker容器运行时间长了之后,生成的日志占用空间较大,如果服务器磁盘空间不充裕,可能导致磁盘空间100%耗尽,最终导致应用无法访问。解决方式为:找到占用磁盘较大的Docker容器,进入该容器工作目录,清空大日志文件。 3.查看每个容器占用的空间......

whatday的专栏 882

CAN开发笔记(TI开发者推荐笔记)

查阅了很多资料没有查阅到关于5728芯片CAN模块寄存器的介绍,希望通过本文能给做CAN驱动的后来者有一点参考意义,我也是刚接触CAN模块有些不足请各位多多指正。 由下图所示是CAN模块初始化流程图 首先要开始初始化,设置CAN位时间,然后配置message objects, 完成初始化。 1.开始初始化 首先要控制DCAN_CTL 寄存器,该寄存器是CAN模块的总控制器,很多配置通过...

weixin_44316996的博客 3561

程序占用内存很小,但docker占用内存一直膨胀

综上可知,总内存占用高并非一定是内存泄露,在该案例中总内存占用大是因为:频繁大量写日志导致linux内存页中的缓存一直被更新,linux采用最近最少使用的方式flash缓存到磁盘(猜测),因此频繁的读写导致内存中的缓存一直不释放;程序占用内存很小,只有几十MB,但总内存却一直增长,疑似内存泄漏。

THMAIL的博客 7865

Doris StreamLoad任务报错Connection reset

背景 Spark程序扫一张Hive表(大小3-7G),然后用http协议的streamLoad任务提交给Doris集群,在Doris集群从0.13.15升级到0.14.12后spark程序报错streamLoad时突然会Connection reset 分析 enable_http_server_v2 这个参数可以参考FE中文配置中查看到,作用是对于Doris界面是否开启新风格的界面,但是实际上他的作用远不止如此,请接着看 新老版本对于enable_http_server_v2参数默认值是不同的 在0.13

gaofeng的博客 3307

docker容器内部排查内存占用高的情况

docker内部排查内存占用情况

keyboard专栏 5062

直线型一阶倒立摆1---从理论到实践的桥梁

本文深入探讨了直线型一阶倒立摆在控制理论中的核心地位,从非线性控制、鲁棒性到实时反馈等关键问题。通过实际案例和硬件搭建指南,帮助读者理解从理论到实践的过渡,特别适合控制工程初学者和研究人员。文章还提供了算法选型建议和硬件避坑手册,是掌握倒立摆控制的实用指南。

weixin_29047545的博客 317

解决docker容器日志导致主机磁盘空间占满【生产实操】

问题:docker容器日志导致主机磁盘空间满了 docker logs -f container_name噼里啪啦一大堆很占用空间,致使磁盘空间被占满。 解决方案 : 第一种 : 脚本实现 #!/bin/sh # drift echo "==================== start clean docker containers logs ==========================" logs=$(find /var/lib/docker/containers/ -name

心情舒畅 3843

【问题解决】解决 Python `PermissionError` 权限不足:文件/进程/端口全场景修复

本文总结了Python程序中常见的权限问题及解决方案,包括文件、进程和端口权限错误。文件权限问题通常由文件占用、权限不足或路径错误引起;进程问题多因权限不足或系统限制;端口问题则与端口占用、防火墙或特权端口相关。解决方案提供了详细的代码实现:文件权限管理器类(FilePermissionManager)包含检查权限(check_permission)、修复权限(fix_permission)、安全写入(safe_write)和安全删除(safe_delete)等方法,通过异常处理和临时文件等技术确保操作安全

博客 357

【机器学习与数据挖掘实战 | 医疗】案例18:基于Apriori算法的中医证型关联规则分析

本案例针对三阴乳腺癌患者,经问卷调查收集数据并筛选处理形成原数据,经清洗、特征选择与变换后,构建Apriori模型,基于业务理解与建模结果,分析患者症状与中医证型关联,并据症状给出建议 。

Morse_Chen的博客 1380

Docker 容器日志占用空间过大解决办法

问题 docker容器日志导致主机磁盘空间满了。docker logs -f container_name噼里啪啦一大堆,很占用空间,不用的日志可以清理掉了。 解决方法 2.1 找出Docker容器日志 在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面,查看各个日志文件大小的脚本docker_log_size.sh,内容...

gdsfga的博客 2万+

NSGA-II 多目标优化 —— 理论、案例与交互式 GUI 实现

本文详细介绍了 NSGA-II 多目标优化算法的基本原理、数学模型和实现流程。从非支配排序、拥挤距离计算到遗传操作,NSGA-II 通过对种群进行分层和排序,能够有效求解多目标优化问题,获得 Pareto 前沿解集。通过机械结构优化、资源分配和控制参数调优等典型案例,我们展示了 NSGA-II 在实际工程中的广泛应用。为帮助工程师和研究者更直观地理解算法求解过程,本文提供了基于 Python 与 PyQt6 的交互式 GUI 演示系统代码示例。

闲人编程的博客 2119

Jtti:怎么解决Docker容器日志占用空间过大的问题?

通过 --log-opt path 选项,可以将日志文件保存到指定路径,以确保日志文件存储在具有足够空间的文件系统上。最后,定期分析日志文件,查找不断增长的日志条目,以便识别和解决潜在的问题。在 Docker 运行容器时,可以通过 -log-opt 选项设置容器的日志限制,限制日志文件的大小。通过 --log-opt max-file 选项,可以设置保留的日志文件数量,以避免日志文件无限增长。可以定期清理不再需要的日志文件。上述命令将设置容器保留最新的 5 个日志文件,之前的日志文件将被删除。

JttiSEO的博客 951

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

解决docker容器的日志占用空间过大问题

docker_container_log_clean.sh # 2017 10 09 优化docker 运行产生的日志 path=/var/lib/docker/containers/ cd $path for file in $(ls) do #[ -d $file ] && echo $file if [ -d $file ];then ...

yjk13703623757的博客 6286

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

【Docker】优化:日志清理

治本的方法是调整配置文件中的参数,修改日志文件大小和日志文件最大数量,实现日志轮转。在日常生产中,有时容器产生的日志占用过大,导致硬盘占用空间很大,需要定时清理。注意:修改后需要重启Docker服务,生产环境中谨慎操作。

2402_85713455的博客 1044

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Docker容器日志查看与清理的方法

Linux 根目录爆满 解决 一、使用df -h命令查看,发现/根目录的剩余空间为0 二、使用du -h -x --max-depth=1 查看哪个目录占用过高,对于过高目录中的内容适当删减腾出一些空间 最终定位发现是zookeeper的日志满了 2.3 设置Docker容器日志大小(治本) 设置一个容器服务的日志大小上限 上述方法,日志文件迟早又会涨回来。要从根本上解决问题,需要限制容器服务的日志大小上限。这个通过配置容器docker-compose的max-size选...

leexiehui的博客 1477

Docker Overlay2磁盘空间占满

在日常生产环境中,我们通常会使用Docker来做容器化管理,通过运行容器来执行任务。但是,随着业务量的不断扩大,容器的不断启动,往往会出现磁盘空间不足的情况。

李云龙的意大利面 4916

Docker启动出现”No space left on device” 或者 docker日志太多导致磁盘占满问题

机房有一台服务器上面部署了多个docker容器, 并且每个docker容器都往stderr中源源不断的输出日志,导致磁盘被占满了。Docker容器在启动/重启的时候会往/var/lib/docker中写数据,如果你在启动docker容器遇到"No space left on device"的问题,可以按照下面的步骤进行清理相关的日志操作。 1)对/var/lib/docker/containers下的文件夹进行排序,看看哪个容器占用了太多的磁盘空间 下面命令会按照升序的方式对于容器文件夹进行排序,并列出容器

Dyson_HQ的博客 2191

写文件失败 ((null)) | 磁盘空间不足。 (112)_Kubernetes 最佳实践:处理容器数据磁盘被写满...

容器数据磁盘被写满造成的危害: 不能创建 Pod (一直 ContainerCreating) 不能删除 Pod (一直 Terminating) 无法 exec 到容器判断是否被写满:容器数据目录大多会单独挂数据盘,路径一般是 /var/lib/docker,也可能是 /data/docker 或 /opt/docker,取决于节点被添加时的配置:可通过 docker info 确定:$ doc...

weixin_42509398的博客 8005

一次磁盘100%占用盘查

截图如下。大家看到的占用 4.8G,这是我清理日志之后的大小,之前这个容器占用。

LoveSummer 2万+

清理Docker容器占用的磁盘空间

Docker容器长时间运行,日志文件会占用较大磁盘空间,手动清理日志文件,防止服务器磁盘空间耗尽

tlojy的博客 2536

Linux:--bash 无法为立即文档创建临时空间:设备上没有空间

以上是使用tab补全功能时报的错。 原因分析 出现设备上没有空间的问题,是服务器存储不够导致的。 排查思路:排查磁盘占用情况 cd /先进入文件根目录,输入df -Th查看磁盘占用情况,结果如下: 可以发现/var/lib/docker/文件夹占用了63%的空间(我这是已经排查后,处理过的情况了,之前有个docker容器日志文件占据了8g左右的大小,这里就是重新再分享下步骤),那么先进入/var/lib/docker/文件夹,输入du --max-depth=1 -h命令继续查看磁盘占用情况,结果

硅脂味咖啡的博客 4117

Docker容器日志查看与清理

如果文件是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用。Docker 容器是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。max-size=500m,意味着一个容器日志大小上限是500M, max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。但是,这样清理之后,随着时间的推移,容器日志会像杂草一样,卷土重来。

wcdunf的博客 2万+
上一篇: elk官方资料
下一篇: ES支持的数据类型
沐果果
博客等级 码龄10年 19粉丝 85原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值