学习笔记九:docker容器日志问题

docker容器日志问题

背景

Docker 默认使用的是 json-file 日志驱动。日志会一直写,一直写,没有限制、没有轮转、没有清理!

日志默认位置:

python 复制代码
/var/lib/docker/containers/<container-id>/<container-id>-json.log

当你发现它时,可能已经:

  • 占了几十个 G
  • 吃满了磁盘
  • 服务都挂了!

如何处理日志问题

主要通过日志轮询方式处理。

python 复制代码
docker run -d \
  --name myapp \
  --log-driver json-file \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  myapp:latest
  • max-size=10m:单个日志文件最大 10MB
  • max-file=3:最多保留 3 个轮转文件(最多 30MB)

容器总日志控制在 30MB 内

修改 Docker 配置

该配置适用于所有容器,只对操作之后创建的容器生效!

编辑配置文件 /etc/docker/daemon.json

python 复制代码
{
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "10m",
    "max-file": "5"
  }
}

重启 Docker 服务:

python 复制代码
systemctl restart docker

日志快速清理

仅推荐在磁盘告急时临时使用!

python 复制代码
find /var/lib/docker/containers -name *-json.log -exec truncate -s 0 {} \;
相关推荐
昕光xg6 小时前
Istio笔记04-基于Jaeger的分布式链路追踪
笔记·分布式·istio
劈星斩月6 小时前
监督学习算法 之 决策树
学习·算法·决策树
学计算机的计算基6 小时前
操作系统内存管理全解:虚拟内存、页表、COW、malloc、OOM一篇搞定
java·笔记·算法
AOwhisky6 小时前
Python 学习笔记(第五期)——组合数据类型:列表、元组、集合与字典精讲——核心知识点自测与详解
开发语言·笔记·python·学习·云计算
砚凝霜6 小时前
软考网络工程师|第 2 章 信道延迟、传输介质、数据编码、数字调制、PCM 完整备考笔记
网络·笔记·pcm
woshihuanglaoshi7 小时前
数据迁移与版本管理 - Flutter在鸿蒙平台实现数据库升级策略
数据库·学习·flutter·华为·harmonyos·鸿蒙·鸿蒙系统
java_logo9 小时前
Apache Doris Docker 部署指南:实时分析数据库实战
数据库·docker·apache·doris·apache doris·轩辕镜像·docker部署doris
世人万千丶16 小时前
参数管理_Flutter在鸿蒙平台路由参数最佳实践
学习·flutter·华为·harmonyos·鸿蒙
遇乐的果园19 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
遇乐的果园21 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习