docker 设置日志文件大小及个数

docker容器在运行一定时间后会产生大量的日志,导致磁盘空间问题出现。
现在有2个方案可以限制docker容器日志文件大小及个数

容器范围内

docker run或dokcer create时添加参数
如创建并运行

 docker run \
      --log-driver json-file --log-opt max-size=10m \
      alpine echo hello world

全局范围内

修改docker daemon.json文件,配置日志文件参数
默认 /etc/docker/daemon.json

{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3" 
  }
}

修改后,docker需要重新加载配置文件和重启。
CentOS7的操作

systemctl daemon-reload
systemctl restart docker

注意:新创建的容器会生效,原有容器不生效。

参数说明

参数 说明
log-opts max-size 容器日志文件上限大小
log-opts max-file 窗口日志文件上限个数

第二种方法:
发现/var/lib/docker/containers/{container_id}/下存在数据较大的*-json.log日志文件,百度发现这是docker容器运行的标准输入日志,遂删除之。项目中已使用-v的方式挂载项目输出日志文件,因此对容器运行日志没有了需求,研究后发现在构建参数的时候可以对标准输入日志大小与数量进行限制,以减少日志文件对存储空间的占用,以下配置分别为日志文件最大容量、最大日志文件数
清空了日志文件

root@anxxxx-prod1:~# echo '' > /var/lib/docker/containers/bc9fe7700f8c8f5d249ff2e710515218969b0f09bd39d82d90e6622f71f8152d/bc9fe7700f8c8f5d249ff2e710515218969b0f09bd39d82d90e6622f71f8152d-json.log
docker run ...... --log-opt max-size=10m --log-opt max-file=1
posted @ 2021-08-12 15:56  記憶や空白  阅读(550)  评论(0编辑  收藏  举报