群晖 docker 的/volume1/@docker/btrfs/subvolumes 占用空间异常大

132 天前
 lfitzgerald

通过 docker 的命令 docker system df 查询结果: $ docker system df

显示用了不到 7 个 G 但是用 du --max-depth=1 -h /volume1/@docker/btrfs/subvolumes 却显示占用了 78 个 G

看名称和大小似乎有些是重复的,不知道怎么删除这些异常的占用

执行过 docker system prune -a 运行的 docker 容器如下:

因为我是用的零刻 EQ12 和两个块固态硬盘组的阵列,可用容量只有 470G 左右,主要用于备份照片和一些资料

1271 次点击
所在节点    NAS
13 条回复
yinmin
132 天前
/volume1/@docker/btrfs/subvolumes 是底层 brtfs 的文件系统,你是不是配置了一个 brtfs 盘是 78GB ? 这是 brtfs 的整盘容量。类似 windows 下,你用固定大小的 vhdx 文件创建了 80GB 的 F 盘,然后你在 C 盘里看到了一个 80GB 的 vhdx 文件,一样道理。
yinmin
132 天前
你使用命令 df -h -T ,看一下是不是有 1 个 Filesystem ,Type 是 btrfs ,Avail 是 78GB 的?
lxh1983
132 天前
用这个命令就能清理没有用到的 Docker volume 。docker volume prune
yinmin
132 天前
我找了一台 docker 小主机,磁盘是 btrfs 格式,使用了 2GB ,剩余空间 12GB ,du --max-depth=1 -h /var/lib/docker/btrfs/subvolumes 显示这个目录占用了 12GB 空间。

忽略它即可。
lfitzgerald
132 天前
@yinmin #2 没有这个 78G 的
lfitzgerald
132 天前
@yinmin #4 你的意思这个是显示问题?实际并没有占用空间?
lfitzgerald
132 天前
flyqie
132 天前
docker system prune 试试?
yinmin
132 天前
@lfitzgerald btrfs fi usage / 是啥情况?
Jacksu
131 天前
这里是存储 dockers 镜像和运行 docker 容器产生的内容,群晖如果你用了 btrfs 系统的话,docker 会使用 btrfs 后端,会给每个镜像层做子卷的,执行 sudo btrfs subvol list /volume1/@docker 可以看到子卷情况。你这个情况如果不是 btrfs ,占用的硬盘可能要翻倍。你应该检查你的 docker 容器,是谁在产生垃圾。
Jacksu
131 天前
运行容器后,会在 docker 存储区产生运行文件,比如网心云的容器魔方,在底层文件系统是 ext4 ,docker 存储后端是 overlay2 的时候,运行网心云的容器,磁盘占用直接飙升 6G+
其他的容器比如青龙面板,你安装的各种依赖也是会直接存这里的。
Jacksu
131 天前
要排查也不难,你把嫌疑容器一一关闭再删除(只删容器不会丢失持久化数据的),再检查空间占用。
lfitzgerald
131 天前
@Jacksu #12 算了,不折腾了,有钱换大一点硬盘

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1052420

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX