今天是Docker的第一天,我欣喜若狂地发现,占用了我硬盘上图像存储空间的5倍--10倍于图像本身。在baobab中的视觉检查显示/var/lib/docker的五个子文件夹中重复的文件夹结构非常相似(尽管不是完全相同)。
一张1.8G的对接图像在我的磁盘上显示为18G。如果我用同样的资源从头开始重建映像,Docker几乎不会增加磁盘存储,再加上1G的大小--所以至少在这个意义上它是在去复制源。一旦我删除图像存储下降到400 K。
我想,可能有很多不同的来源,为了获得我之前下载的图像的最终版本,必须进行不同的比较,所以我下载了18.04 Ubuntu映像(79M),以验证是否是这样,但即便如此,baobab还是回到了在/var/lib/docker/下面显示401 MB。搞什么鬼?!?我是不是漏掉了什么,还是码头工人效率太低了?有邪恶的BTRFS压缩内核错误吗?Docker讨厌磁盘加密吗?请告诉我,道克不只是嘲笑你的脸和填补你的硬盘驱动器,而不是反重复你的数据。
在没有其他任何东西的x11vnc/docker桌面的干净安装上
user@Ubuntu ~ $ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 1 0 1.817GB 1.817GB (100%)
Containers 0 0 0B 0B
Local Volumes 2 0 72.87kB 72.87kB (100%)
Build Cache 0B 0B

发布于 2018-05-11 02:55:36
Btrfs上的Docker使用了很多快照。Btrfs快照在写时使用拷贝,这样当它们被更改时,只有被更改的部分使用新的磁盘空间。
但是,普通的磁盘工具不知道快照,并将每个快照的空间计算为完整副本。
使用btrfs fi du -s /var/lib/docker来使用Btrfs工具来度量它。
https://stackoverflow.com/questions/50282907
复制相似问题