Docker日志

Docker日志

一、概述

Docker 容器的数据保存在 /var/lib/docker/containers 目录下,主要是是一些不断追加的日志文件,文件名默认为 {container_id}-json.log

查出大文件

du -d1 -h /var/lib/docker/containers | sort -h

输出:

36K	/var/lib/docker/containers/3535676acd77d83d25c2ea5fa5ced46bd12cf61fe355bbbaceb5dfd5826fbb27
40K	/var/lib/docker/containers/1d65bcf316af93861e9f9d22713703687f1a80edc35feadd40b2b25a3ae73801
40K	/var/lib/docker/containers/37e93b7da7d8828309c3ca30c09b413283ce9b51273b1e0294d79f1d1c824267
40K	/var/lib/docker/containers/91f20978e0535b117a32f6af04b8158b357fe6a58b29b3121bdd16ab84771526
40K	/var/lib/docker/containers/ed48eee74e859785a6a21a3c95c209481136238d83965c86b52cb676bb682eaa
200K	/var/lib/docker/containers

二、清理日志

清理脚本

#!/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"
    cat /dev/null > $log
  done

echo "==================== end clean docker containers logs   =========================="

可编写定时任务

crontab -l
\* * 2 * * /bin/sh /server/scripts/clean_logs.sh &>/dev/null

容器配置

通过docker run 参数

docker run -it --log-opt max-size=10m --log-opt max-file=3 redis

或者 docker compose 配置

logging:
      driver: "json-file"
      options:
        max-size: "2g"      # 日志文件大小
        max-file: "10"		# 日志的数量

全局配置

配置文件 /etc/docker/daemon.json 添加log-dirver和log-opts参数:

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

重启生效

systemctl daemon-reload
systemctl restart docker

注意:设置的日志大小,只对新建的容器有效。已存在的容器不会生效,需要重建才可以

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值