当前位置: 首页
科技数码
Docker生产环境配置指南:优化日志与磁盘空间

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

热心网友 时间:2026-02-17
转载

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

今天咱们来聊聊在生产环境中怎么正确配置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。

同类文章
更多
地下室发现尘封12年AMD前CEO旧PC苏姿丰签名推土机硬件

地下室发现尘封12年AMD前CEO旧PC苏姿丰签名推土机硬件

一位技工在客户家地下室发现一台属于AMD前CEORoryRead的旧PC,机箱上留有苏姿丰等高管签名,配置为推土机时代硬件且从未开机。这台电脑封存了AMD从推土机失败到Zen架构崛起的关键转折历史。

时间:2026-07-10 10:06
Laravel 12生态成熟助力全栈开发效率提升

Laravel 12生态成熟助力全栈开发效率提升

Laravel12延续开发体验优势,在项目结构、查询构建、API开发、调试及性能上持续优化。其生态日趋成熟,形成Reverb、Pulse等完整工具链,覆盖API、SaaS、企业后台及AI应用开发。与Next js的组合逐渐流行,Laravel已演变为现代Web开发平台,保持社区活力。

时间:2026-07-10 10:06
Linux内核持续演进:Rust语言与零拷贝网络成新焦点

Linux内核持续演进:Rust语言与零拷贝网络成新焦点

LinuxKernel6 15重大更新:Rust驱动正式入主线,NOVADRM成为首个实践案例;io_uring新增零拷贝网络接收,降低CPU开销与延迟;Btrfs增强实时zstd压缩、DirectIO及稳定性。内核同步推进安全化与高性能网络化。

时间:2026-07-10 10:06
谷歌Gemini进入Agent时代 打造全天候AI助理

谷歌Gemini进入Agent时代 打造全天候AI助理

Google推出GeminiSpark、Omni等新功能。Spark可全天候在后台运行,主动处理邮件、日历等任务;Omni侧重视频理解与环境推理,布局世界模型。AI正从被动回答转向主动观察、规划与执行,标志着竞赛进入新阶段。

时间:2026-07-10 10:05
CPU-Z 2.20.2正式版发布 支持Intel三大平台及AMD锐龙AI Max

CPU-Z 2.20.2正式版发布 支持Intel三大平台及AMD锐龙AI Max

CPU-Z2 20 2正式版发布,新增支持IntelPantherLake、WildcatLake、BartlettLake三大架构及AMD锐龙AIMax、Pro系列,加入锐炫G3识别库,修复缓存错误和锐龙77700X3D检测问题,免费下载。

时间:2026-07-10 10:05
热门专题
更多
刀塔传奇破解版无限钻石下载大全 刀塔传奇破解版无限钻石下载大全
洛克王国正式正版手游下载安装大全 洛克王国正式正版手游下载安装大全
思美人手游下载专区 思美人手游下载专区
好玩的阿拉德之怒游戏下载合集 好玩的阿拉德之怒游戏下载合集
不思议迷宫手游下载合集 不思议迷宫手游下载合集
百宝袋汉化组游戏最新合集 百宝袋汉化组游戏最新合集
jsk游戏合集30款游戏大全 jsk游戏合集30款游戏大全
宾果消消消原版下载大全 宾果消消消原版下载大全
  • 热门数据榜