docker容器日志管理(清理)

前言


在使用docker容器时候,其日志的管理是我们不得不考虑的事情。因为docker容器的日志文件会占据大量的磁盘空间。下面介绍的就是对docker容器日志的管理。



docker容器日志清理


docker容器的日志一般存放在/var/lib/docker/containers/下的container_id下,以json.log为结尾。
(每个容器会生成一个对应的container_id)
在这里插入图片描述

在这里插入图片描述


【1】查看所有docker容器日志的大小


find /var/lib/docker/containers/ -name *-json.log |xargs du -sh

在这里插入图片描述



【2】清理Docker容器日志


docker容器运行时,使用rm的方式删除日志文件,是无用的,磁盘空间仍会被占用。
因为在Linux中,使用rm删除文件,只是从文件系统的目录结构上解除链接。如果有一个进程正在使用这个文件,进程将仍然可以读取该文件,磁盘空间也会一直被占用。

可以像处理tomcat的日志的方式对容器日志进行清空或切割。


<1>docker容器日志清理脚本(清理所有docker容器的日志)

clean_dockerlog.sh


#!/bin/sh 

logs=`find /var/lib/docker/containers/ -name *-json.log`  

for docker_log in $logs  
do  
echo " "  > $docker_log  
done  


<2>docker容器日志切割脚本(切割所有docker容器日志)

qie_dockerlog.sh
 

#!/bin/bash 

 logs=`find /var/lib/docker/containers/ -name *-json.log` 

for docker_log in $logs  
do  
     DATE=`date +%F`
     cp $docker_log  $docker_log/../dockerlogs.$DATE
     echo " " > $docker_log
done

chmod +x /root/qie_dockerlog.sh
可以将脚本放入计划任务中,定期执行。
crontab  -e
* * 3 * * /bin/bash   /root/qie_dockerlog.sh


后记


实际上,对docker容器的日志及其他的管理,我们也可以使用docker compose来实现。它的优点是可以通过一个配置文件来管理多个Docker容器。这个由于内容比较多,就先放到以后再介绍了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

漠效

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

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

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

打赏作者

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

抵扣说明:

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

余额充值