Linux下手动清理docker容器日志信息

服务器谨慎操作,以下内容转载自《Docker查看容器大小,并清除logs日志》

查看容器大小

# 简略
docker system df
# 详细信息
docker system df -v

在这里插入图片描述
在这里插入图片描述

清除日志文件(治标)

找出日志文件:在linux上,容器日志一般存放在/var/lib/docker/containers/container_id/下面

# 命令行清除
cd /var/lib/docker/containers/
du -sh *
cd 94de1859951a96aee05bfdf8f6eb3a721546bf13aaf5f0785ba537c0eccb702b
cat /dev/null > 94de1859951a96aee05bfdf8f6eb3a721546bf13aaf5f0785ba537c0eccb702b-json.log

使用脚本清除

cat clean-docker-log.sh
#!/bin/bash
echo "======== docker containers logs file size ========"  

logs=$(find /var/lib/docker/containers/ -name *-json.log)  

for log in $logs  
        do  
             ls -lh $log   
        done  

# 授权并运行脚本
chmod +x docker_log_size.sh

./clean-docker-log.sh

设置docker容器日志大小(治本)

限制容器服务的日志大小上限。这个通过配置容器docker-compose的max-size选项来实现

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

全局设置:新建或者修改 /etc/docker/daemon.json 添加log-dirver和log-opts参数

{
    
    
        "registry-mirrors": [
                "https://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com"
                ],
        "insecure-registries":["docker.mirrors.ustc.edu.cn"],
        # 设置日志大小
        "log-driver":"json-file",
        "log-opts":{
    
    "max-size":"500m","max-file":"3"}
}
# 加载配置并重启
systemctl daemon-reload 
systemctl restart docker

max-size=500m,意味着一个容器日志大小上限是500
max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json

转载自:https://www.cnblogs.com/Clera-tea/p/16425712.html

猜你喜欢

转载自blog.csdn.net/weixin_46099269/article/details/134452440