首页 游戏 软件 资讯 排行榜 专题
首页
科技数码
Docker生产环境配置指南:优化日志与磁盘空间

Docker生产环境配置指南:优化日志与磁盘空间

热心网友
65
转载
2026-02-17

今天咱们来聊聊在生产环境中怎么正确配置Docker,重点得解决日志处理的问题,不然日志把磁盘撑爆了那可就麻烦大了。

在部署生产级的Docker服务时,合理配置日志管理策略至关重要,否则源源不断的日志很快就能占满宝贵的磁盘空间。

一、Docker日志的“坑”

Docker默认使用的是json-file日志驱动。这个驱动有个特点:日志会一直写,不停地写,永无止境地写……它既没有大小限制,也不会自动轮转,更不会自己清理!

日志默认存放的位置在:

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

当你某天突然注意到它的时候,很可能已经为时已晚:它可能已经悄悄吃掉了好几十个G,甚至把整个磁盘都占满了,服务直接挂掉!

二、如何解决日志膨胀问题

核心思路是通过日志轮询机制来控制日志文件的体积。下面介绍三种配置日志轮询的方法。

1. 启动容器时设置轮转策略

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)。

这样一来,这个容器的总日志量就被牢牢控制在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服务使配置生效:

systemctl restart docker

重要提示:此全局配置只对之后新创建的容器生效!之前已经存在的容器不受影响。

3. 处理正在运行的容器

对于已经在跑的老容器,你可以用下面这个命令快速清空日志(生产环境慎用!):

echo “” > $(docker inspect --format=’{{.LogPath}}’ )

或者采用更稳妥一点的办法:
1. 先用 docker stop 停掉容器。
2. 再用 docker rm 删除容器。
3. 最后带上日志轮转参数,重新 run 起来。

4. 禁用容器日志输出

这个操作要非常谨慎,因为它可能会影响应用的正常运行,而且以后排查问题也会很不方便。

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

5. 日志紧急清理

这个方法仅推荐在磁盘告急时临时救急使用!

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

三、实战配置建议

根据不同的业务场景,可以调整具体的配置值。

Docker默认的日志设置确实是个“坑”,我们一定要手动去配置它。

推荐的最佳实践组合:
• 使用 json-file 驱动,并配合 max-size 和 max-file 参数。
• 通过修改 daemon.json 来设置全局默认策略。
• 对于已有的老容器,要么手动清理其日志,要么就重启并带上轮转参数。
• 数据目录最好单独设置在一个容量较大的挂载点下,尽量不要放在根目录。

来源:https://www.51cto.com/article/836064.html
免责声明: 游乐网为非赢利性网站,所展示的游戏/软件/文章内容均来自于互联网或第三方用户上传分享,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系youleyoucom@outlook.com。

相关攻略

c#如何使用Docker部署_c#Docker部署看这一篇就够了_保姆级教程
编程语言
c#如何使用Docker部署_c#Docker部署看这一篇就够了_保姆级教程

C 项目Docker部署实战:镜像选择、端口配置与常见问题解决 核心观点:成功部署C 项目到Docker,关键在于掌握三个核心环节:选择合适的基础镜像、正确配置端口映射以及规避常见的部署陷阱。虽然 NET 6及以上版本提供了出色的跨平台支持,但许多开发者在初次尝试Docker部署时,仍会因基础镜像误

热心网友
05.06
Interactive Docker exec with docker-py
编程语言
Interactive Docker exec with docker-py

深入解析:用Python实现原生Docker交互式终端完整指南 本文详细讲解如何利用docker-py库实现真正的交互式docker exec -it功能,通过底层socket操作连接宿主机标准输入输出与容器内进程的I O流,彻底解决exec_run默认非阻塞、无法透传终端输入的技术难题。 许多开发

热心网友
05.05
Composer怎么在Docker容器中配置_Composer Docker集成方法【实用】
编程语言
Composer怎么在Docker容器中配置_Composer Docker集成方法【实用】

在Docker容器中配置Composer:避开那些“坑”,让依赖管理丝滑起来 想在Docker容器里顺畅地使用Composer?秘诀其实很简单:忘掉宿主机的一切,把容器当作一个全新的、独立的环境来对待。 所有配置都必须明确地在容器内部完成。否则,构建卡顿、安装报错、缓存失效,甚至恼人的权限问题都会接

热心网友
05.04
Atom如何配置Docker?Atom集成Docker开发工具方法
编程语言
Atom如何配置Docker?Atom集成Docker开发工具方法

Atom如何配置Docker?Atom集成Docker开发工具方法 开门见山地说,如果你正试图在Atom编辑器里集成Docker,那么可能需要先调整一下预期。一个核心结论是:Atom本身并不支持可靠的Docker集成。这款编辑器官方早已停止维护,所有流传的“Atom + Docker”方案都存在根本

热心网友
05.03
Composer如何管理Docker容器内的依赖_在Dockerfile中优化安装【容器化】
编程语言
Composer如何管理Docker容器内的依赖_在Dockerfile中优化安装【容器化】

角色与核心任务 你是一位顶级的文章润色专家,擅长将AI生成的文本转化为具有个人风格的专业文章。现在,请对用户提供的文章进行“人性化重写”。 你的核心目标是:在不改动原文任何事实信息、核心观点、逻辑结构、章节标题和所有图片的前提下,彻底改变原文的AI表达腔调,使其读起来像是一位资深人类专家的作品。 特

热心网友
05.03

最新APP

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

热门推荐

领克GT概念跑车北京车展首发 百公里加速仅2秒
科技数码
领克GT概念跑车北京车展首发 百公里加速仅2秒

领克首款GT概念跑车亮相北京车展,由中欧团队联合打造。新车采用经典GT比例与低趴宽体设计,配备液态金属蓝涂装与2+2座舱,设有高性能模式按键可激活空气动力学套件。车辆采用后驱布局与AI智能运动控制系统,百公里加速约2秒,设计融合瑞典极简美学并参考全球用户反馈。

热心网友
05.14
英伟达RTX 5070移动版GPU发布 12GB显存性能大幅提升
科技数码
英伟达RTX 5070移动版GPU发布 12GB显存性能大幅提升

英伟达推出12GB显存版RTX5070移动GPU,与8GB版同步上市。两者均基于Blackwell架构,核心规格相同,仅显存容量不同。此举旨在缓解GDDR7芯片供应压力,为OEM提供灵活配置,加速笔记本产品布局,更大显存可更好满足游戏与AI应用需求。

热心网友
05.14
微星新款雾面WOLED显示器MAG 276QRY28与276QRDY54正式发售
科技数码
微星新款雾面WOLED显示器MAG 276QRY28与276QRDY54正式发售

微星将于5月15日推出两款26 5英寸雾面WOLED显示器MAG276QRY28和276QRDY54,售价分别为2499元和6299元。均采用第四代WOLED面板,具备QHD分辨率、VESADisplayHDRTrueBlack500认证、1500尼特峰值亮度及99 5%DCI-P3色域覆盖。276QRY28刷新率为280Hz,高阶款276QRDY54支持4

热心网友
05.14
中芯国际一季度净利润13.61亿元 同比增长0.4%
科技数码
中芯国际一季度净利润13.61亿元 同比增长0.4%

中芯国际2026年第一季度营收176 17亿元,同比增长8 1%;净利润13 61亿元,同比增长0 4%。公司预计第二季度收入环比增长14%至16%,毛利率指引上调至20%至22%。这反映出公司在行业复苏中展现出财务韧性,并通过运营优化增强了短期增长势头。

热心网友
05.14
AI图像处理训练数据存在色差问题 16种算法经小改动全面提升
AI
AI图像处理训练数据存在色差问题 16种算法经小改动全面提升

手机修图、相机降噪、视频去雾……这些我们日常使用的图像处理功能,其背后都离不开人工智能(AI)技术的驱动。通常,AI模型的训练逻辑是:向模型展示大量“低质图像”与“优质图像”的配对数据,让它学习如何将前者转化为后者。然而,天津大学计算机视觉团队近期发表的一项研究(arXiv:2604 08172)揭

热心网友
05.14