关于Unraid的Docker.img占用空间过大的解决办法

2022-08-04 10:54:51 1点赞 11收藏 10评论

先说一下我的NAS环境是Win10底层系统+Vmware unraid+Vmware 群晖

如此用了Unraid有一段时间了,实际只用了Unraid的docker功能,docker的环境有很多,但是我还是本着太菜就别硬折腾的基本原则,选择Unraid,开箱即用。关于Unraid的Docker.img占用空间过大的解决办法

现在问题来了,Docker.img占用越来越大,一开始默认20G,后提示空间不够了,然后又增大到40G,过了一段时间,又增大到70%,第2张图可以看到40G用了28G。关于Unraid的Docker.img占用空间过大的解决办法

关于Unraid的Docker.img占用空间过大的解决办法

关于Unraid的Docker.img占用空间过大的解决办法

我Unraid就Vmware直通了一个120G固态,其实本来换个大点容量不就解决了,但是感觉不舒服,所以就网上搜了一下

1,查看docker各个文件夹大小的命令

du -sh *

2,经过挨个文件夹查看后,是这个access.log居然接近5个G

关于Unraid的Docker.img占用空间过大的解决办法

3,所以直接将其删除,但是对于虚拟磁盘,删除文件并不会释放空间,所以又再网上找缩小磁盘的方法

4,最后再Unraid官网找到了几个命令How-To: Shrinking Docker Image - Docker Engine - Unraid

第1步: 检查磁盘是否有错误

btrfsck -p --repair /mnt/user/system/docker/docker.img

第2步: 调整文件系统大小

btrfs filesystem resize [new size] /mnt/user/system/docker/docker.img

卸载虚拟磁盘

第三步:调整虚拟磁盘大小

dd if=/mnt/user/system/docker/docker.img of=/mnt/user/system/docker/docker.img.new bs=2M count=6000 status=progress

这条命令将容量调整为12GB, 2M*6000=12000MB=12GB

第四步:确定虚拟磁盘挂载

mount /mnt/user/system/docker/docker.img.new /var/lib/docker; ls /var/lib/docker

这样在就能在/var/lib/docker看到 Docker文件系统,可以直接卸载然后删除,重命名之前的Docker.img,并将docker.img.new重命名为docker.img,

教程结束

溜了溜了关于Unraid的Docker.img占用空间过大的解决办法

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
10评论

  • 精彩
  • 最新
  • 说句题外话,Unraid的Docker是由高级视图的,别忘了打开,开关就在右上角,打开之后可以看到孤立镜像,这也是占用空间的大户之一。

    校验提示文案

    提交
  • 还是docker compose好用。装了docker compose插件,直接compose down再compose up,16G→3G(做好数据持久化,compose up后可正常恢复)
    就是images更新暂时没搞定,不过对本人影响不大就没研究

    校验提示文案

    提交
    还可以这样,有机会试试 [傻笑]

    校验提示文案

    提交
    收起所有回复
  • 原docker.img200个gb,跳过第一步btrfsck -p --repair /mnt/user/system/docker/docker.img
    1.btrfs filesystem resize 20G /mnt/user/system/docker/docker.img
    提示文件格式不对,不让调小。实际硬盘是xfs格式,docker设置里的btrfs格式
    2.略过步骤1的错误,dd if=/mnt/user/system/docker/docker.img of=/mnt/user/system/docker/docker.img.new bs=2M count=6000 status=progress 直接复制出一份docker.img.new,大小12gb
    3.通过FileBrowser重命名docker.img→docker.img.backup,docker.img.new→docker.img
    4.停用阵列
    5.docker设置镜像大小为10gb
    6.启用阵列,原来的docker都还在,直接调用了10gb的docker.img

    校验提示文案

    提交
    这个操作是把docker的可用空间从200缩小到12了吧?但是实际上img的大小怎么清理呢

    校验提示文案

    提交
    收起所有回复
  • 扩容参见这个,就不转内容了,图形界面更方便。去看看

    校验提示文案

    提交
    感谢老哥

    校验提示文案

    提交
    收起所有回复
  • 同样的问题,怎么联系博主帮忙解决下.我不是log文件大,我是img镜像巨大

    校验提示文案

    提交
    看我回复

    校验提示文案

    提交
    收起所有回复
  • 请问 du -sh *是怎么进到docker.img里面的。

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
最新文章 热门文章
11
扫一下,分享更方便,购买更轻松