docker log太占空间

起因

最近发现服务器的空间总是不够,把exsi的所有资源都给了server虚拟机后,才一周磁盘就又被占满了。

查找大文件、大目录

从根目录开始,使用

du -h --max-depth=1

逐层查找大目录、大文件,最终定位到 /var/lib/docker/containers/ 这个目录占了44G。查看,发现是有个容器的log文件太大。

查看docker容器log大小的脚本

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

限制docker的log大小

简单的删除log文件只是治标,过段时间还会生成这么多的,所以我们需要治本。

如果使用docker-compose,那么简单的在compose文件中加上

logging:
  driver: "json-file"
  options:
  max-size: "500m"

这个配置项,然后更新stack,即可。

或者,我们可以配置docker的全局设置:修改或新建 /etc/docker/daemon.json :

"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"1"}

然后重启docker守护进程:

systemctl daemon-reload
systemctl restart docker

但需要注意,配置全局设置的方法只对新部署的容器生效。所以对于原有的容器,我们需要重新部署。

file

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhangsheng377

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值