【docker】docker导致系统磁盘满了,如何限制日志文件大小

【docker】docker导致系统磁盘满了,如何限制日志文件大小

问题发生场景

一次压测过程中突然磁盘满了,导致redis持久化失败报错,服务器宕机了

排查原因,是由于docker文件太大了,达到了19G

 

然后找资料,解决方案如下:

 

一、docker日志文件的方法

除了

docker logs -f 容器ID/容器名

这个方法以外。

 

在linux上,一般docker的日志文件存储在/var/lib/docker/containers/container_id/ 目录下的 各个容器ID对应的目录下的*-json.log 文件中

方法1:可以直接进入该目录下,查找日志文件

方法2:可以写一个脚本文件,执行即可

  1》创建.sh文件【在你自己可以找到的目录下】

vi 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

 

  2》为该文件设置权限

chmod +x docker_log_size.sh

  3》执行该文件

./docker_log_size.sh

 

 

 

二.设置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

 

【需要注意的是:设置的日志大小规则,只对新建的容器有效】

 

 

原文地址:http://www.voidcn.com/article/p-tqhqiaif-bsb.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当服务器上的Docker挂载的磁盘总是时,您可以考虑以下优化措施: 1. 清理无用的Docker镜像和容器:使用`docker system prune`命令清理无用的镜像、容器和网络资源。这可以释放磁盘空间并提高系统性能。 2. 设置日志轮转:对于产生大量日志的容器,可以设置日志轮转,限制日志文件大小并保留一定数量的日志文件。这样可以避免单个容器的日志文件过大,占磁盘空间。您可以使用日志轮转工具如logrotate来实现。 3. 调整Docker日志设置:Docker默认将容器的标准输出和错误输出重定向到日志文件中。您可以通过修改Docker日志驱动配置,将日志输出限制在适当的级别,或者将日志输出到外部日志管理系统,以减少对磁盘空间的占用。 4. 调整容器存储卷的使用:某些容器可能会频繁写入或产生大量数据,导致磁盘空间快速填。您可以考虑将这些数据写入专门的存储卷,而不是直接写入容器本身。这样可以分离容器文件系统和数据存储,避免磁盘空间被耗尽。 5. 监控和限制容器资源使用:使用Docker的资源限制功能,如CPU和内存限制,可以避免某个容器过度消耗系统资源而导致磁盘空间不足。您可以通过设置适当的资源限制来平衡容器的性能和资源使用。 6. 定期清理无用的数据:定期清理不再需要的数据文件、日志文件和临时文件等,以释放磁盘空间。您可以编写脚本或使用定时任务工具来自动执行清理操作。 请根据您的具体情况选择适合的优化方法,并确保在进行任何操作之前备份重要数据。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值