设置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结尾的文件
网友评论