DockerDocker架构

八、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;

image.png

如果是这种方式,我们就需要在配置文件中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。

上一篇 下一篇

猜你喜欢

热点阅读