学习笔记九: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 {} \;
相关推荐
Kobebryant-Manba1 分钟前
学习automl
学习
J.Kuchiki14 分钟前
【PostgreSQL 内核学习:平衡 K 路归并(Balanced k-way Merge)】
数据库·学习·postgresql
xieliyu.21 分钟前
MySQL 全套入门笔记:基础、库操作、数据类型
数据库·笔记·mysql
XGeFei23 分钟前
【Fastapi学习笔记(7)】—— Fastapi 中间件、前端跨域请求
笔记·学习·fastapi
问心无愧051333 分钟前
ctf show web入门109
android·前端·笔记
踏着七彩祥云的小丑34 分钟前
嵌入式测试学习第 31 天:兼容性测试:版本兼容、外设兼容、硬件版本兼容
单片机·嵌入式硬件·学习
hans汉斯35 分钟前
【人工智能与机器人研究】基于分层控制的多智能体编队协同控制
网络·人工智能·学习·yolo·机器人
设计师小聂!35 分钟前
Windows 系统 Docker 安装与配置指南
windows·docker·容器
Kobebryant-Manba40 分钟前
学习模型构造
python·深度学习·学习
一锅炖出任易仙1 小时前
创梦汤锅学习日记day29
学习·ai·ue5·游戏引擎