Docker容器日志清理方案 | 您所在的位置:网站首页 › 宝塔怎么清理日志 › Docker容器日志清理方案 |
Docker容器在运行过程中会产生很多日志,久而久之,磁盘空间就被占满了,以下分享docker容器日志清理的几种方法 删除日志在linux上,容器日志一般存放在 /var/lib/docker/containers/container_id/ 下, 以json.log结尾,找到这些文件,删除即可,需要注意的是如果容器处在运行状态,使用 rm -rf 方式删除日志后,通过 df -h 会发现磁盘空间并没有释放,原因是在Linux或者Unix系统中,通过 rm -rf 或者文件管理器删除文件,将会从文件系统的目录结构上解除链接(unlink);如果文件此时是被打开的(有一个进程正在使用),那么进程将仍然可以读取该文件,磁盘空间也一直被占用;所以通过rm -rf删除日志时需要重启docker,以释放资源,这样非常不方便。 所以清理docker日志的正确方法是 cat /dev/null > *-json.log 从根本上解决Docker容器日志空间占用问题通过以上两种方式清理之后,随着时间的推移,容器日志又会逐渐增大,可谓指标不治本,要从根本上解决问题,需要限制容器服务的日志大小上限;这个通过修改docker的配置文件来实现 在docker的配置文件/etc/docker/daemon.json(默认路径)中添加以下内容即可 "log-opts": { "max-size": "500m", "max-file": "3" } max-size=500m,意味着一个容器日志大小上限是500M max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json重启docker进程 systemctl daemon-reload systemctl restart docker需要注意的是在这里设置的日志大小,只对新建的容器有效。 |
CopyRight 2018-2019 实验室设备网 版权所有 |