当前位置: 首页 > news >正文

服务器磁盘空间被Docker容器日志占满处理方法

事发场景:

原本正常的服务停止运行了,查看时MQTT服务链接失败,查看对应的容器服务发现是EMQX镜像停止运行了,重启也是也报错无法正常运行,报错如下图:

报错日志中连续出现两个"no space left on device"的报错,这是典型磁盘写满的症状。从报错路径看,EMQX试图在/opt/emqx/data/configs目录下写配置文件失败。

  • 原因:EMQX 无法生成配置文件,因为磁盘已满。

查看磁盘空间,已被占满。

 发现是Docker的日志文件占满的,

1. 清理 Docker 无用数据

# 强制清理所有无用资源(包含未使用的镜像、容器、网络、构建缓存等)
docker system prune -a -f --volumes# 单独清理悬空镜像(二次确认)
docker rmi $(docker images -f "dangling=true" -q)

2. 清理大日志文件

# 查找所有容器日志文件(显示大于100MB的)
find /mnt/sdc/docker_data/containers/ -name "*.log" -size +100M -ls# 清空大日志文件(不删除文件)
sudo truncate -s 0 /mnt/sdc/docker_data/containers/*/*-json.log

执行sudo truncate -s 0 /mnt/sdc/docker_data/containers/*/*-json.log命令之后,空间就释放了,后面就恢复正常了,

执行 sudo truncate -s 0 /mnt/sdc/docker_data/containers/*/*-json.log 不会直接影响正在运行的容器进程,但需注意以下关键点:

影响维度说明
容器运行状态✅ 不会停止或重启容器(仅清空日志文件,不干扰容器主进程)
已输出的日志❌ 会永久删除当前日志内容(但新日志仍会正常写入)
日志依赖服务⚠️ 若容器进程正通过 tail -f 或日志采集工具(如Fluentd)读取该文件,会导致读取中断
http://www.lqws.cn/news/179101.html

相关文章:

  • 服务器信任质询
  • 什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
  • 服务器出现故障怎么办?快速排查与解决方法
  • PostgreSQL 的扩展pg_freespacemap
  • Linux操作系统之进程(五):初识地址空间
  • Edge(Bing)自动领积分脚本部署——基于python和Selenium(附源码)
  • 七、数据库的完整性
  • Codeforces EDU Round 179 A~D
  • PDF转Markdown/JSON软件MinerU最新1.3.12版整合包下载
  • HarmonyOS运动语音开发:如何让运动开始时的语音播报更温暖
  • Redis 主从 + 哨兵集群部署
  • 【HarmonyOS 5】出行导航开发实践介绍以及详细案例
  • 《深度探秘:Java构建Spark MLlib与TensorFlow Serving混合推理流水线》
  • 麒麟系统使用-进行.NET开发
  • 电脑开不了机,主板显示67码解决过程
  • vue项目引入tailwindcss
  • 华为 “一底双长焦” 专利公布,引领移动影像新变革
  • 在 Windows 系统上运行 Docker 容器中的 Ubuntu 镜像并显示 GUI
  • 【信息系统项目管理师-论文真题】2025上半年(第一批)论文详解(包括解题思路和写作要点)
  • 基于端到端深度学习模型的语音控制人机交互系统
  • Mysql主从复制与读写分离
  • BugKu Web渗透之需要管理员
  • PHP语言核心技术全景解析
  • [BJDCTF2020]Easy MD5 1
  • 计算机网络(6)——局域网
  • OS11.【Linux】vim文本编辑器
  • 使用xdocreport导出word
  • My图床项目
  • PowerBI企业运营分析—列互换式中国式报表分析
  • Jenkins 工作流程