1、处理docker容器日志过大导致的占用磁盘控件的问题
docker容器日志存在位置:/var/lib/docker/containers/container_id,日志文件名称格式为:container_id-json.log
查询docker所有容器日志大小的shell脚本如下:
第一步
vi docker_log_detail.sh
第二步
#!/bin/sh
echo "======== docker containers logs file details ========"
logs=$(find /var/lib/docker/containers/ -name *-json.log)
for log in $logs
do
ls -lh $log
done
第三步
chmod +x docker_log_detail.sh
./docker_log_detail.sh
清理docker所有容器日志的shell脚本如下:
第一步
vi clean_docker_log.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 ========"
第三步
chmod +x clean_docker_log.sh
./clean_docker_log.sh
?根本性处理docker容器日志太大的方式:
??????? 在docker配置文件(/etc/docker/daemon.json,如果没有就新建)中,添加如下参数:
第一步
vi /etc/docker/daemon.json
第二步
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
第三步
systemctl daemon-reload
systemctl restart docker
参数说明:
??????? max-size=500m,代表一个容器日志大小上限是500M ??????? max-file=3,代表一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。
|