限制Docker容器日志大小+清理日志脚本

admin


本文最后更新于 2020年08月13日

前言

docker日志的膨胀速度是很快的,需要加以限制,本方法只对新创建的容器有效,普通docker容器rm掉,再创建,docker-compose的请docker-compose down再创建

教程

Code example
1
2
3
4
5
6
7
vi /etc/docker/daemon.json
#添加如下内容
 
{
  "log-driver":"json-file",
  "log-opts": {"max-size":"200m", "max-file":"3"}
}

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

Code example
1
2
3
4
5
// 重启docker守护进程
 
# systemctl daemon-reload
 
# systemctl restart docker

清理日志脚本

Code example
1
vi clean_docker_log.sh
Code example
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/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 ========" 
Code example
1
2
chmod +x clean_docker_log.sh
./clean_docker_log.sh


相关阅读

1.240626s