docker日志大小限制,清除方法,脚本

设置Docker容器日志文件大小限制:
1.新建/etc/docker/daemon.json,若有就不用新建了。添加log-dirver和log-opts参数,样例如下:

# vim /etc/docker/daemon.json

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

max-size=500m,意味着一个容器日志大小上限是500M,
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。

2.然后重启docker的守护线程

命令如下:

systemctl daemon-reload
systemctl restart docker

【需要注意的是:设置的日志大小规则,只对新建的容器有效】

查看宿主机docker所有容器日志文件大小:

vim docker_log_size.sh
#!/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

删除所有容器的日志:

vim docker_log_clean.sh
#!/bin/sh 

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 ========"

删除单个容器的日志:

vim docker_log_single_clean.sh
#!/bin/bash
read -p "输入要清除日志的容器名:" name
echo "cleaning logs:$name"

id=$(docker inspect $name |grep Id |cut -d'"' -f4)

cat /dev/null > /var/lib/docker/containers/$id/$id-json.log
docker容器日志存在于/var/lib/docker/containers/下以json.log结尾的文件
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容