暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

docker下容器日志管理

捡故事君 2021-10-13
630

现象:运行系统时,登录等待。

原因:服务器磁盘空间占满。(由于日志)

解决方案:增加日志管理机制。

下面介绍具体现象及解决方案。

执行:df -h 发现磁盘占满

日志默认位置在 /var/lib/docker/containers/+容器id路径下面的 containeid-json.log 文件中。

执行命令 du -sh 看到log文件非常大。

一、删除大文件
cd 到对应目录,执行rm -rf containeid-json.log文件。

二、关闭正在运行的容器,如:redis

docker stop redis

三、创建容器

docker run增加如下参数,限制生成的json.log单个文件大小和保留文件个数:--log-opt max-size=100m --log-opt max-file=3

max-size 指定日志文件大小上限

max-file   指定日志文件个数

最终的效果就是,日志会持续生成 3 文件,并一直保留最新的 3 个日志文件。

四、重启容器

docker restart redis

五、查看配置是否生效

docker inspect -f '{{.HostConfig.LogConfig}}'  + 容器名 查看配置是否生效

例:docker inspect -f '{{.HostConfig.LogConfig}}' redis


补充:
查询当前目录总大小可以使用du -sh,其中s代表统计汇总的意思,即只输出一个总和大小。


通过命令du -h  *,可以只显示直接子目录文件及文件夹大小统计值。



查找大于100M的文件

find -type f -size +100M -print0 | xargs -0 du -h | sort -nr


df命令的英文全称即“Disk Free”,顾名思义功能是用于显示系统上可使用的磁盘空间。默认显示单位为KB,建议使用“df -h”的参数组合,根据磁盘容量自动变换合适的单位,更利于阅读。


文章转载自捡故事君,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论