学习笔记九: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 {} \;
相关推荐
武昌库里写JAVA11 分钟前
关于springcloud的坑
java·开发语言·spring boot·学习·课程设计
永生辉皇21 分钟前
JS红宝书笔记 8.2 创建对象
javascript·笔记·原型模式
小浪学编程33 分钟前
C#学习13——正则表达式
学习·正则表达式
R.X. NLOS36 分钟前
论文阅读笔记 | Qwen-VL:一个视觉语言大模型,通晓理解、定位、文本阅读等多种能力
论文阅读·笔记·大模型·多模态大模型·qwen-vl
无所谓จุ๊บ1 小时前
VTK知识学习(54)- 交互与Widget(五)
学习·vtk
武昌库里写JAVA2 小时前
大模型更重要关注工艺
java·开发语言·spring boot·学习·课程设计
K.Fire好好睡觉2 小时前
VINS-Mono论文阅读笔记
论文阅读·笔记
Ac157ol2 小时前
不同系统修改 Docker Desktop 存储路径(从C盘修改到D盘)
运维·docker·容器
幻奏岚音2 小时前
Java数据结构——第一章Java基础回顾
java·开发语言·jvm·笔记·学习
xiaoxiaoxiaolll3 小时前
5G光网络新突破:<Light: Science & Applications>报道可适应环境扰动的DRC实时校准技术
人工智能·学习