docker限制容器日志大小


问题

容器日志一般存放在/var/lib/docker/containers/container_id/下面,以json.log结尾的文件(业务日志)很大.

处理

  • 临时清空日志

    # 注意不能用rm命令
    cat /dev/null > /var/lib/docker/containers/容器id/容器id-json.log
  • 如果是docker-compose
    通过配置容器docker-compose.ymlmax-size选项来实现:

    nginx: 
    image: nginx:1.12.1 
    restart: always 
    logging: 
      driver: "json-file"
      options: 
        max-size: "5g"
  • 限制docker容器日志大小

    // vim /etc/docker/daemon.json
    {
    "log-driver":"json-file",
    "log-opts": {"max-size":"500m", "max-file":"3"}
    }

重启docker生效

systemctl daemon-reload
systemctl restart docker

参考链接


文章作者: wuzhiyong
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wuzhiyong !
评论
 上一篇
linux查询目录下指定格式最大文件 linux查询目录下指定格式最大文件
命令# 指定格式 ls -lSh `find /var/lib/docker -type f -name "*.log"` | head -n 5 # 所有文件格式按大小排序 find /var/lib/docker -type f -pr
2020-11-23
下一篇 
docker查找占用主机磁盘最多的容器 docker查找占用主机磁盘最多的容器
背景有时候我们一台主机上部署了多个容器,而且对部分数据做了持久化,时间长了,数据会越来越多,相应的可能会造成磁盘空间不足?那么我们如何,找出占用磁盘空间最大的容器,并删除容器的部分不需要的日志或数据文件呢? overlay2简介Overla
2020-11-20
  目录