docker日志清理方法

docker 日志清理方法

1
2
author : yewei_andy
email : 896882701yw@gmail.com

方法1: 使用脚本定期清理(手动删除docker 容器的log文件)

  • 找出docker容器的日志大小:
1
2
3
4
5
6
7
8
#!/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
  • 删除docker容器日志:
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 ========"

方法2: 通过设定docker容器的日志大小(达到容量会自动清理)

  • 使用docker-compose 设定:
1
2
3
4
5
6
7
nginx: 
image: nginx:1.12.1
restart: always
logging:
driver: “json-file”
options:
max-size: “5g”
  • 使用docker全局配置:
1
2
3
4
5
# vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
生活再忙,也不要忘记生活原本简单的样子
0%