处理docker占用空间大的问题

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。


版权声明:本文为u011208304原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。