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

清理HiNas(海纳斯) Docker日志并限制日志大小

我在一个机顶盒的HiNas系统上跑Octoprint的docker版本,每隔一段时间盒子空间就被占完了,运行df -h之后,显示/dev/root Use 100%

Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.6G  6.6G     0 100% /
devtmpfs        466M     0  466M   0% /dev
tmpfs           466M     0  466M   0% /dev/shm
tmpfs            94M   12M   82M  13% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           466M     0  466M   0% /sys/fs/cgroup
tmpfs           466M     0  466M   0% /tmp
overlay         6.6G  6.6G     0 100% /var/lib/docker/overlay2/af39d08ee431ec651a5e65f7d9b0aaff9bf7b65b8c375b53c870436c1dd34e9c/merged
overlay         6.6G  6.6G     0 100% /var/lib/docker/overlay2/f0146795cc30d1d31d7d104c96327201a0ced5cb4d70e214ab654e629bf0f22c/merged
tmpfs            94M     0   94M   0% /run/user/0

问了deepseek,建议我执行如下命令:

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

然后空间就腾出来了3.1个G:

root@hi3798mv100:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/root       6.6G  3.2G  3.1G  51% /
devtmpfs        466M     0  466M   0% /dev
tmpfs           466M     0  466M   0% /dev/shm
tmpfs            94M  3.2M   90M   4% /run
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           466M     0  466M   0% /sys/fs/cgroup
tmpfs           466M     0  466M   0% /tmp
overlay         6.6G  3.2G  3.1G  51% /var/lib/docker/overlay2/af39d08ee431ec651a5e65f7d9b0aaff9bf7b65b8c375b53c870436c1dd34e9c/merged
overlay         6.6G  3.2G  3.1G  51% /var/lib/docker/overlay2/f0146795cc30d1d31d7d104c96327201a0ced5cb4d70e214ab654e629bf0f22c/merged
tmpfs            94M     0   94M   0% /run/user/0

然后继续问如何限制日志大小,建议如下:
/etc/docker/daemon.json添加如下内容:

"log-driver": "json-file","log-opts": {"max-size": "50m","max-file": "2"}

验证与维护

  1. 检查配置生效状态
    bashCopy Code
    docker info | grep -i log  # 查看全局配置
    docker inspect <容器ID> | grep LogConfig  # 查看容器级配置
    
  2. 定期清理残留日志
    添加定时任务(crontab -e):
    bashCopy Code
    # 每周日凌晨清理历史日志
    0 0 * * 0 find /var/lib/docker/containers -name "*.log.*" -delete
    
    此操作清除已被Docker自动轮转后的过期日志文件

相关文章:

  • [原创](现代Delphi 12指南):[macOS 64bit App开发]:如何使用CFStringRef类型字符串?
  • 【Linux学习笔记】进程的fork创建 exit终止 wait等待
  • Graph Database Self-Managed Neo4j 知识图谱存储实践2:通过官方新手例子入门(未完成)
  • WebGL2简单实例
  • VsCode如何使用默认程序打开word Excel pdf等文件
  • 珍爱网:从降本增效到绿色低碳,数字化新基建价值凸显
  • 浅析锁的应用与场景
  • Java大模型开发与应用 - 面试实战
  • SQL 函数进行左边自动补位fnPadLeft和FORMAT
  • 嵌入式开发:基础知识介绍
  • vue-lottie的使用和配置
  • Linux系统中命令设定临时IP
  • Linux:进程的等待
  • 装备制造企业选型:什么样的项目管理系统最合适?
  • java实现网格交易回测
  • MySQL 库的操作 -- 增删改查,备份和恢复,系统编码
  • SIEMENS PLC程序解读 -BLKMOV (指定长度数据批量传输)
  • 深度学习之卷积神经网络入门
  • 火山云的市场竞争
  • HashSet 概述
  • 江西德安回应“义门陈遗址建筑被没收”:将交由规范的义门陈相关社会组织管理
  • 复星医药换帅:陈玉卿接棒吴以芳任董事长,吴以芳改任复星国际执行总裁
  • 十大券商看后市|A股风险偏好有望边际改善,市场仍处黄金坑
  • 我的科学观|张峥:AI快速迭代,我们更需学会如何与科技共处
  • 十四届全国人大常委会第十五次会议在京举行,审议民营经济促进法草案等
  • 滨江集团去年营收约691亿元,尚未结算的预收房款1253亿元