docker 查看容器磁盘大小_Docker容器日志查看与清理

1、Docker容器日志查看

Docker容器日志查看我们都知道用:docker logs -f 容器名/容器ID

在实际使用中我们往往会忽略容器日志存储的问题,直到某天服务器磁盘告警才去排查问题,非常影响生产效率,下面我们就讲下如何时查看容器日志位置,及清除方法。

2、Docker容器日志位置查找

Linux下默认容器日志位置在:/var/lib/docker/containers/目录中对应的容器ID目录下, 以json.log结尾的文件,查看所有容器日志位置及大小的脚本如下:#!/bin/bash

echo "======== docker containers logs file list ========"

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

for log in $logs

do

ls -lh $log

done

注:如果对Docker工作目录有调整,请根据实际情况修改脚本中的find命令后的查找目录位置。下面的清除脚本也如此。

3、Docker容器日志清除及优化

清空Docker容器日志脚本:#!/bin/bash

echo "======== start clean docker containers logs ========"

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

for log in $logs

do

echo "clean logs : $log"

echo "" > $log

done

这样脚本执行一次会释放所有日志存储空间,但时间长了后日志依然会增长起来。你会说我们可以用定时任务crontab -e,将脚本加入的系统定时任务中由系统定时帮我们清理容器日志。这种方案虽然看起来很完美,但有点暴力,

而且如果需要查看定时任务执行时间点前的日志时就会很尴尬了。我们可以采取下面的方案——设置容器日志大小的方式来限制日志大小,这样会优雅了许多。脚本实现方法如下:cat < /etc/docker/daemon.json

{

"log-opts": {

"max-size": "20m",

"max-file": "10"

}

}

ENDDOCKER

systemctl daemon-reload

systemctl restart docker

关于日志文件大小及个数(max-size、max-file),你可以根据实际需要来调整。

如果你已使用了/etc/docker/daemon.json对Docker做过特殊配置,只需要把下面的内容添加到/etc/docker/daemon.json文件中,然后重启Docker服务即可。"log-opts": {

"max-size": "20m",

"max-file": "10"

}

×

选择打赏方式:

微信

QQ钱包

支付宝

打赏

打赏

打赏

多少都是心意!谢谢大家!!!

×

选择分享方式:

微信扫一扫,分享朋友圈

Or

手机扫一扫,精彩随身带

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值