八、Docker容器的日志过大,无限制
2021-07-01 本文已影响0人
那钱有着落吗
起因:docker容器的日志没有限制的增大,直到把所属的挂载点给撑爆。
一、一般的配置方法
如果在网上搜索解决方法肯定是有这么配置的:
修改配置文件/etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts":{
"max-size" :"50m","max-file":"1"
}
}
然后重启docker和守护线程
注意:不过已存在的容器不会生效,需要重建才可以
sudo systemctl daemon-reload
sudo systemctl restart docker
二、采用docker-compose.yaml 管理docker的方式
不了解docker-compose的可以参考帖子:https://www.jianshu.com/p/658911a8cff3
这个东西其实就是好比maven一样,不过这个管理的是所有的docker;
如果是这种方式,我们就需要在配置文件中docker-compose.yaml,配置日志的个数和大小:
logging:
driver: json-file
options:
max-size: "10m"
max-file: "3
需要注意的是:一定注意格式,如果不确定的话可以测试
配置好之后,我们可以测试下配置文件是否正常:
docker-compose config
日志的配置在第一个方法中讲过,如果设置之前有容器,需要删掉重建,所以这里一样,我们需要删除容器,然后在重启docker-compose
docker rm 容器id
docker up
重启之后我们我们可以看下某个docker容器中是否已经有了日志大小限制的配置信息:
docker inspect 容器id
image.png
如果有上图中的日志配置,那么基本上就算是配置成功了。
可以过两天或者一定时间去日志存储的位置看下,我这边因为设置了日志存储的位置,所以与一般的有差别:
image.png image.png'
image.png可以看到日志存放都是以dockerid的前缀开头的,所以可以找到你想看的容器的日志大小,然后可以使用图中的命令排序打印所有文件的大小。
下面给一个我自己配置后的日志生成情况:
image.png
因为我自己配置的是日志最多3个,每一个文件最大10M,所以就生成了三个日志文件,最大也不到10M。