Skip to content

rsshub的docker容器体积会自增,导致占满inode #18372

@PullAndRun

Description

@PullAndRun

路由地址

NOROUTE

完整路由地址

NOROUTE

相关文档

https://docs.rsshub.app/deploy/#install-1

预期是什么?

预期是修复这个问题,避免使用rsshub的docker镜像会导致无限制的文件自增进而占满linux的inode

实际发生了什么?

docker容器体积会缓慢自增,最后导致写满linux的inode,导致linux硬盘明明还有未使用空间,但是因为inode满了,linux会无法新增任何文件
可能是容器内会自动新增非常多的小文件
具体位置通过在/var/lib/docker/overlay2/内执行sudo find . -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n得到占用inode最多的两个文件夹如下
61423 8ff95e046fbf8164b959b9576ffa176a7f6d2ab699f5c3e08f7ee4fb1ecd906e
784567 42b13833ab66bde4cd106755f756a566c2e17b9e74d2dcf67cea7e9e55fcb181
8ff开头的不知道什么东西,42b开头的通过
for container in $(docker ps --all --quiet --format '{{ .Names }}'); do
echo "$(docker inspect $container --format '{{.GraphDriver.Data.MergedDir }}' |
grep -Po '^.+?(?=/merged)' ) = $container"
done
命令得到/var/lib/docker/overlay2/42b13833ab66bde4cd106755f756a566c2e17b9e74d2dcf67cea7e9e55fcb181 = 9cad9997025c
而9cad9997025c通过docker ps得到9cad9997025c diygod/rsshub "dumb-init -- npm ru…" 5 weeks ago Up 7 hours
证明了
784567 42b13833ab66bde4cd106755f756a566c2e17b9e74d2dcf67cea7e9e55fcb181基于diygod/rsshub

进入42b13833ab66bde4cd106755f756a566c2e17b9e74d2dcf67cea7e9e55fcb181发现,是一个名为tmp的文件夹占用了大量inode,因为文件夹内的文件数量实在太多,ls命令会卡死,具体有什么文件不得而知。另外rm -rf tmp也会卡死,删不掉了这个文件夹

部署

RSSHub 演示 (https://rsshub.app)

部署相关信息

No response

额外信息

2646 e26b946c547d1ccba2f054e502cdb7d76b7499a9ea906b898918c1bde0832906
   2958 58bd4d1efabd36c80c607743c04e5d682313af427c302448f251970e31f2b4b9
   3066 aa57f49678e4907e14a7fe35186b00f52bbd8a3cce85e09290928c7a6b1a63a5
   3264 9d13037b9d495c1742bbec2574d7d2ef4c55dcfcc89636ee5d474775e7af16fd
  61423 8ff95e046fbf8164b959b9576ffa176a7f6d2ab699f5c3e08f7ee4fb1ecd906e
 784567 42b13833ab66bde4cd106755f756a566c2e17b9e74d2dcf67cea7e9e55fcb181

这不是重复的 issue

  • 我已经搜索了 现有 issue,以确保该错误尚未被报告。

Metadata

Metadata

Assignees

No one assigned

    Labels

    RSS bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions