docker限制日志大小

随着docker容器的长时间运行,产生的日志文件会随之增大,造成docker

overlay2占用大量磁盘空间的情况,甚至占满整个硬盘空间。

除了网上的手动清空日志方法以外。

可以通过限制docker 日志大小的方式,进行处理。

一. 针对docker所有容器

修改docker daemon.json文件,配置日志文件参数。

ubuntu下 daemon.json的默认位置为 /etc/docker/daemon.json

如果不存在文件,新建一个即可。

{
    "log-driver": "json-file",
    "log-opts": {
        "max-size": "50m",
        "max-file": "1"
    }
}

在运行上述命令后,需对docker进行重启。

systemctl daemon-reload
systemctl restart docker

需要注意的是,之前已经创建的容器不会生效,新创建的容器生效。

二. 针对单独容器

在创建容器时,通过添加命令进行限制。

如下述命令,限制日志大小为500M,日志文件数量最多为3个。

docker run --log-opt max-size=500m --log-opt max-file=3