docker 清理日志
日志文件过大暂时清理(治标)
命令会按照升序的方式对于容器文件夹进行排序,并列出容器文件夹的大小
du -d1 -h /var/lib/docker/containers | sort -h
选择你要清理的容器进行清理
cat /dev/null > /var/lib/docker/containers/container_id/container_log_name
批量清理(治标)
- 新建 clean_docker_log.hs
- chmod +x clean_docker_log.sh
- ./clean_docker_log.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16!/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:"
echo $log
cat /dev/null>$log
done
echo "==================== end clean docker containers logs =========================="
echo `date`启动时限制(治本)
docker rundaemon.json 设置(治本)
1
2
3
4
5
6vim /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。
// 重启docker守护进程
1 | systemctl daemon-reload |
注意:设置的日志大小,只对新建的容器有效。