docker 日志清理

最新发现空间被占用的非常大,经过查询发现是docker container的log多大导致
于是想起清理log

在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面,查看各个日志文件大小的脚本
临时清理

  1. 查找log日志的大小
#!/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
  1. 删除相关log
#!/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-compose设置

nginx: 
  image: nginx:1.12.1 
  restart: always 
  logging: 
    driver: “json-file” 
    options: 
      max-size: “5g” 

第二种方式

# vim /etc/docker/daemon.json

{
  "log-driver":"json-file",
  "log-opts": {"max-size":"500m", "max-file":"3"}
}

设置最大size是500m,并且最大file数是3
重启docker

// 重启docker守护进程

# systemctl daemon-reload

# systemctl restart docker

你可能感兴趣的:(Docker)