首页 游戏 软件 资讯 排行榜 专题
首页
业界动态
生产环境 Docker 应该这样配置,可避免日志太多,磁盘被撑爆等问题

生产环境 Docker 应该这样配置,可避免日志太多,磁盘被撑爆等问题

热心网友
26
转载
2026-04-15

今天聊一下生产环境 Docker 应该怎么配置,主要是如何处理日志,避免撑爆磁盘

免费影视、动漫、音乐、游戏、小说资源长期稳定更新! 👉 点此立即查看 👈

1. Docker日志好坑

先说说Docker默认的日志机制,这里有个“坑”不得不提。它默认使用的是json-file日志驱动,听起来没什么问题,对吧?但关键在于,这个驱动会一直写日志,没有限制、没有轮转、更没有自动清理!

日志默认就堆在这个位置:

/var/lib/docker/containers//-json.log

等你发现它的时候,往往为时已晚。它可能已经悄无声息地占了几十个G,直接吃满磁盘,最终导致服务集体挂掉。这种场景,在运维工作中可不算少见。

2. 如何处理日志问题

核心思路就是通过日志轮转来管理。下面介绍三种设置日志轮转的主流方式,总有一款适合你的场景。

(1) 运行容器时设置轮转策略

最直接的方法,就是在启动容器时指定参数。比如启动一个Nginx容器:

docker run -d \
  --name nginx \
  --log-driver json-file \
  --log-opt max-size=10m \
  --log-opt max-file=3 \
  nginx:1.27

这里两个参数是关键:

  • max-size=10m:意味着单个日志文件最大到10MB就会触发轮转。
  • max-file=3:表示最多只保留3个轮转文件(当前写的一个,加上两个历史归档)。

这么一算,这个容器的日志总量就被牢牢控制在30MB以内,彻底告别“爆炸”风险。当然,这个配置只对当前启动的这个容器生效。

(2) 修改 Docker 配置

如果你觉得逐个容器配置太麻烦,想一劳永逸地对所有新容器生效,那就得修改Docker的全局配置。

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

[root@harbor ~]# cat /etc/docker/daemon.json
{
  "data-root": "/data/docker",
  "live-restore": true,
  "log-driver": "json-file",
  "log-opts": {
    "max-file": "3",
    "max-size": "10m"
  }
}

顺便解释一下这里的其他参数:

  • data-root:这是设置Docker数据(包括镜像、容器、日志)的存放目录。默认在/var/lib/docker下,建议改到一个空间充足的独立挂载点。
  • live-restore:这个功能很实用。启用后,重启Docker服务时,运行中的容器不会停止,可以有效避免因Docker重启导致业务中断。

配置完成后,别忘了重启Docker服务让配置生效:

systemctl restart docker

需要警惕的是,这个全局配置只对之后新创建的容器生效,之前已经运行的容器不受影响。

(3) 正在运行的容器

那对于已经在跑的老容器,日志已经堆积起来了,怎么办?

有一种快速但粗暴的清理方法(生产环境请慎用!):

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

或者,采用更稳妥的流程:先docker stop停掉容器,然后docker rm删除它,最后使用上面提到的轮转参数重新run起来。这相当于给容器做一次“日志管理升级”。

(4) 禁用日志输出

还有一种极端做法,就是直接禁用容器的日志驱动。命令如下:

docker run --log-driver=none 容器名

但必须提醒你,这个操作要慎用。虽然能彻底杜绝日志增长,但也意味着你无法通过docker logs命令查看容器输出,会给后续的问题排查带来很大不便,甚至可能影响某些依赖标准输出的应用运行。

(5) 日志快速清理

当磁盘真的告急,需要紧急释放空间时,可以临时使用这个命令批量清理所有容器的日志文件:

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

这相当于把所有日志文件大小截断为零。记住,这仅是应急手段,不能作为常规管理方式。

3. 实战建议

最后,结合不同场景,给几点落地的配置建议。

首先,可以确定的是,Docker的默认日志设置在生产环境中基本不可用,手动配置轮转是必须项。

最佳实践可以总结为这么几条:

  • 驱动与限制组合使用:继续使用json-file驱动,但务必搭配max-sizemax-file参数,这是性价比最高的方案。
  • 全局配置先行:优先在daemon.json中设置合理的全局默认值(如max-size=50m, max-file=5),形成基线标准。
  • 存量容器处理:对于已有的老容器,要么安排时间窗口按上述流程重启并加入轮转参数,要么定期监控其日志大小并手动清理。
  • 存储规划分离:通过data-root参数,将Docker的数据目录(包括日志)挂载到一个容量充足、独立于系统根目录的磁盘或分区上。这相当于为日志增长设置了一道物理隔离带,即使配置意外失效,也不会立刻拖垮整个系统。
来源:https://www.51cto.com/article/836833.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

生产环境 Docker 应该这样配置,可避免日志太多,磁盘被撑爆等问题
业界动态
生产环境 Docker 应该这样配置,可避免日志太多,磁盘被撑爆等问题

今天聊一下生产环境 Docker 应该怎么配置,主要是如何处理日志,避免撑爆磁盘 1 Docker日志好坑 先说说Docker默认的日志机制,这里有个“坑”不得不提。它默认使用的是json-file日志驱动,听起来没什么问题,对吧?但关键在于,这个驱动会一直写日志,没有限制、没有轮转、更没有自动清

热心网友
04.15
Docker生产环境配置指南:避免日志过量与磁盘爆满
科技数码
Docker生产环境配置指南:避免日志过量与磁盘爆满

今天聊一下生产环境 Docker 应该怎么配置,主要是如何处理日志,避免撑爆磁盘。 今天聊一下生产环境Docker应该怎么配置,主要是如何处理日志,避免撑爆磁盘。1 Docker日志好坑Docke

热心网友
03.25
谷歌推送初代Pixel Watch安全更新,紧急修复拨号Bug
礼仪与书信
谷歌推送初代Pixel Watch安全更新,紧急修复拨号Bug

IT之家 3 月 17 日消息,谷歌现已悄悄为初代 Pixel Watch 智能手表推送 BW1A 260305 003 安全更新,主要修复了紧急拨号 Bug。公开信息显示,谷歌初代 Pixel W

热心网友
03.17
Docker生产环境配置指南:优化日志与磁盘空间
科技数码
Docker生产环境配置指南:优化日志与磁盘空间

今天我们聊一下生产环境 Docker 应该怎么配置,主要是如何处理日志,避免撑爆磁盘。 今天聊一下生产环境 Docker 应该怎么配置,主要是如何处理日志,避免撑爆磁盘。一、Docker日志好坑Do

热心网友
02.17
watchOS 10.6.2更新推送:为旧款Apple Watch续航优化
科技数码
watchOS 10.6.2更新推送:为旧款Apple Watch续航优化

IT之家 2 月 3 日消息,苹果公司面向无法升级到 watchOS 26 的老款 Apple Watch 智能手表,推送了 watchOS 10 6 2、watchOS 9 6 4 以及 watc

热心网友
02.03

最新APP

宝宝过生日
宝宝过生日
应用辅助 04-07
台球世界
台球世界
体育竞技 04-07
解绳子
解绳子
休闲益智 04-07
骑兵冲突
骑兵冲突
棋牌策略 04-07
三国真龙传
三国真龙传
角色扮演 04-07

热门推荐

《七界梦谭》长戟刚鬣boss打法攻略
游戏攻略
《七界梦谭》长戟刚鬣boss打法攻略

七界梦谭长戟刚鬣boss怎么打?全面打法机制解析 在《七界梦谭》中,即将登场的精英首领“长戟刚鬣”以其独特的造型与高难度的战斗机制,成为了众多玩家关注的焦点。它通体呈现深邃的黑色,外形轮廓融合了刺猬般的刚刺与修长的尾部,移动时带有鼠类特有的迅捷与灵动。其名“刚鬣”源于古语,精准地描述了它颈背部如刀锋

热心网友
04.15
王者荣耀世界pk模式怎么玩-王者荣耀世界pk模式玩法全解析
游戏资讯
王者荣耀世界pk模式怎么玩-王者荣耀世界pk模式玩法全解析

王者荣耀世界的 pk 模式是玩家展现实力、与各路高手激烈对抗的舞台 想体验更自由、更开放的竞技快感吗?王者荣耀的PK模式,正是这样一个让你与各路高手一决高下的舞台。在这里,战斗的规则更灵活,策略的博弈也更直接,能带来与常规对战截然不同的竞技乐趣。 参与条件 参与门槛并不复杂:当玩家等级达到要求,并且

热心网友
04.15
我在AI
AI
我在AI

我在AI是什么 简单来说,“我在AI”是一款来自南京有零科技的免费人工智能应用。它的核心思路挺有意思:不再提供单一的聊天机器人,而是打造了一个多元化的“智能体”生态。用户可以根据自己的喜好,选择不同性格、设定的人设进行互动,相当于把选择权交给了用户,让AI服务于更个性化的生活场景。 我在AI的主要功

热心网友
04.15
张雪机车LOGO陷抄袭国外品牌标识争议 真相藏不住了
业界动态
张雪机车LOGO陷抄袭国外品牌标识争议 真相藏不住了

张雪机车LOGO陷抄袭争议:一场关于“原创”的舆论风波 最近几天,机车圈里有点热闹。一组对比图在网络上流传开来,把张雪车品牌的LOGO和国外一个已有标识放在了一起。仔细一看,二者在图形结构、线条走势,乃至整体轮廓上,确实有着高度的相似性,差别似乎只存在于一些微小的细节处理上。 这事儿之所以迅速发酵,

热心网友
04.15
mysql报Server selection timeout怎么办_排查负载均衡器配置与节点存活检查
数据库
mysql报Server selection timeout怎么办_排查负载均衡器配置与节点存活检查

MySQL连接报Server selection timeout怎么办?排查负载均衡器配置与节点存活检查 首先需要明确一个核心概念:Server selection timeout这一错误信息,本质上是MongoDB驱动层抛出的异常,与MySQL服务自身的运行状态并无直接关联。它通常出现在错误混用M

热心网友
04.15