背景
在容器化部署的时候,因为没有指定日志的最大存储时间,导致磁盘被充爆。查看日志 一般使用docker logs -f --tail 行数 容器名称 来查看容器的运行日志,但是在容器被初始化的时候,需要指定日志的最大存储时间,因为docker默认配置中是不限制日志的大小的,会导致磁盘资源被用尽
## 查看docker容器使用能够的驱动情况
$ docker info | grep "Logging Driver"
## 运行结果
Logging Driver: json-file
Docker 默认使用 json-file 作为其日志驱动,但并未设置日志文件的大小上限,也就是说,如果不进行额外配置,Docker 日志会持续增长,直到耗尽所有可用的磁盘空间。
限制日志大小
为防止日志文件过大,Docker 提供了两个重要的参数来限制单个容器的日志文件大小:
--log-opt max-size:
设置单个日志文件的最大大小。当日志文件达该值时,Docker 会新建日志文件。
--log-opt max-file:设置日志文件的最大数量。当达到该值时,Docker 会删除最旧的日志文件。
启动容器时候限制日志大小
仅对某个容器生效,不具备通用性
## 启动一个新的容器,并设置每个日志文件的大小为10MB,最多保留3个日志文件
$ docker run -d --log-opt max-size=10m --log-opt max-file=3 serverName
通用配置限制日志大小
Docker daemon 的全局默认设置,可以修改 Docker daemon 的配置文件,文件路径为
/etc/docker/daemon.json,如果没有的话,可以增加这个文件
{"log-driver": "json-file","log-opts": {"max-size": "10m","max-file": "3"}
}
然后,需要重启 Docker daemon 以使新的配置生效。
以上操作可以帮助我们有效地管理 Docker 容器的日志文件大小,防止其无限制地增长。
$ systemctl restart docker
记录备查