惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

IT之家
IT之家
C
CXSECURITY Database RSS Feed - CXSecurity.com
V
Visual Studio Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
小众软件
小众软件
L
LangChain Blog
Cyberwarzone
Cyberwarzone
美团技术团队
The Register - Security
The Register - Security
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
T
Tor Project blog
V
V2EX
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News: Ask HN
Hacker News: Ask HN
L
LINUX DO - 最新话题
Recent Announcements
Recent Announcements
H
Hackread – Cybersecurity News, Data Breaches, AI and More
酷 壳 – CoolShell
酷 壳 – CoolShell
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
aimingoo的专栏
aimingoo的专栏
人人都是产品经理
人人都是产品经理
F
Full Disclosure
V2EX - 技术
V2EX - 技术
The Cloudflare Blog
博客园 - 叶小钗
T
Threat Research - Cisco Blogs
阮一峰的网络日志
阮一峰的网络日志
G
GRAHAM CLULEY
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Latest news
Latest news
S
Security @ Cisco Blogs
Spread Privacy
Spread Privacy
Project Zero
Project Zero
K
Kaspersky official blog
MyScale Blog
MyScale Blog
Attack and Defense Labs
Attack and Defense Labs
云风的 BLOG
云风的 BLOG
博客园 - 【当耐特】
Hacker News - Newest:
Hacker News - Newest: "LLM"
大猫的无限游戏
大猫的无限游戏
P
Privacy International News Feed
Google DeepMind News
Google DeepMind News
WordPress大学
WordPress大学
C
Cybersecurity and Infrastructure Security Agency CISA
Webroot Blog
Webroot Blog
罗磊的独立博客
Vercel News
Vercel News
N
News and Events Feed by Topic
A
Arctic Wolf
C
CERT Recently Published Vulnerability Notes

杜老师说

雨天出差的 3 件必备 桌面零食收纳的 2 个分区 演示前一晚的 2 个检查清单 培训讲师的 PPT 怎么"听完" 出差住酒店插座的 3 个用法 培训笔记只记关键字的 3 个好处 通勤最后 10 分钟的"减速"技巧 两人吃外卖的 2 个小默契 深夜吃夜宵的 3 个节制技巧 橘猫经常跳上书桌的 3 个应对 居家办公桌前的 4 个微习惯 培训归来:把新命令收纳到 shell 的命名约定 高铁出差路上的电源与网络 3 个 fallback 夏季骑行通勤的 3 个小习惯 推荐酷鸭数据主机 培训归来:把新学到的命令收纳到 shell 的 2 个动作 黄昏漫步的"下班缓冲"为什么重要 酒店 Wi-Fi 不稳的 3 个 fallback 工具 培训归来:怎样把新学到的命令收纳到自己的 shell 高铁出差路上的 4 个阅读习惯 macOS 终端下本地跑 LLM 实测 工作室暗光环境的护眼心得 通勤党耳机选型:3 款降噪豆横评 深夜 Terminal 的 4 个提效小动作 Minecraft 生存服务器来啦「1.21.8 版」 快速部署 Nexus Terminal 打造高颜值远程管理终端 DEB 和 RPM 有什么区别 ima 任务模式邀请码分享 Temp Mail 兼具隐私和便捷性的最佳临时电子邮件服务 二手手机值得买吗?数码爱好者的省钱换机经验 最近总觉得脑子不够用?杜老师的脑力不足自救实录 一站式操作系统 ISO 下载平台 MinIO 社区版 Web 管理界面被删事件全解析 如何使用 PHP 脚本筛选去不图床已到期用户邮箱 Focalboard 开源项目管理的有力工具 NodePass 开源的隧道工具重新定义内网穿透 探索网络实验的神器 Mininet Ubuntu 系统无法通过 pip 命令安装 Python 库问题解决 使用 Python 脚本实现图片相似度匹配 几种通过 FFmpeg 无损压缩视频的方法 天津游记「多图预警」 合肥游记「多图预警」
Dockerd 日志太多?磁盘爆了?一篇教您搞定容器日志问题
Teacher Du · 2025-11-15 · via 杜老师说

Docker 重度使用者们,您了解过 Docker 日志吗?如何查找、减少以及管理日志,从而有效节省磁盘空间!今天分享一下如何处理 Docker 日志的问题。

日志好坑

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

1
/var/lib/docker/containers/<container-id>/<container-id>-json.log

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

1
2
3
4
IO 等待时间长
占了几十个 G
吃满磁盘
服务挂了

处理问题

主要通过日志轮询方式处理,下面介绍两种方式设置日志轮询。在运行容器时设置轮转策略:

1
2
3
4
5
6
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 内

修改 Docker 的配置,该配置适用于所有容器,编辑 Docker 配置文件/etc/docker/daemon.json:

1
2
3
4
5
6
7
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "5"
}
}

重启下 Docker 服务,注意只对之后创建的容器生效!

1
systemctl restart docker

日志清理

正运行的容器,可以这样快速清理日志「生产环境慎用」

1
echo "" > $(docker inspect --format='{{.LogPath}}' <container-id>)

或者更稳一点:

命令解释
docker stop停掉容器
docker rm删除容器

禁用日志输出,这个操作慎用,有可能到影响应用运行,而且不方便后续的排查:

1
docker run --log-driver=none <container-id>

日志快速清理,仅推荐在磁盘告急临时使用:

1
find /var/lib/docker/containers -name *-json.log -exec truncate -s 0 {} \;

实战建议

根据不同的场景推荐配置值:

场景配置值一配置值二
开发环境max-size=5mmax-file=3
测试环境max-size=10mmax-file=5
生产环境max-size=50mmax-file=10

最佳实践:

1
2
3
用 json-file+max-size+max-file
修改 daemon.json 设置全局默认值
旧的容器要么清理日志,要么重启带有轮转参数