学习笔记九: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 {} \;
相关推荐
_落纸3 小时前
三大基础无源电子元件——电阻(R)、电感(L)、电容(C)
笔记
muyun28003 小时前
Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
elasticsearch·docker·容器
Alice-YUE4 小时前
【CSS学习笔记3】css特性
前端·css·笔记·html
2303_Alpha4 小时前
SpringBoot
笔记·学习
萘柰奈4 小时前
Unity学习----【进阶】TextMeshPro学习(三)--进阶知识点(TMP基础设置,材质球相关,两个辅助工具类)
学习·unity
沐矢羽4 小时前
Tomcat PUT方法任意写文件漏洞学习
学习·tomcat
好奇龙猫4 小时前
日语学习-日语知识点小记-进阶-JLPT-N1阶段蓝宝书,共120语法(10):91-100语法+考え方13
学习
向阳花开_miemie5 小时前
Android音频学习(十八)——混音流程
学习·音视频
工大一只猿5 小时前
51单片机学习
嵌入式硬件·学习·51单片机
c0d1ng5 小时前
量子计算学习(第十四周周报)
学习·量子计算