docker 镜像存储位置
例如我的 driver 是 overlay2, 则 docker 镜像的实际存储在 / var/lib/docker/overlay2 文件夹里面.
ls 和 du 的不同
ls -alh dir / 显示文件的大小或文件夹的元数据的大小. 所以在 ls -alh 文件夹时, 元数据存储在一个 block 里面, 一个 block 的大小 (4.0K), 而不显示里面实际内容的大小.
du 显示当前文件夹的磁盘占有大小.
Summarize disk usage of the set of FILEs, recursively for directories
解决问题的过程 TLDR;
Google 一下. 找到
https://stackoverflow.com/a/25978888/5955399
原来存储位置取决于 driver.
输入 docker info 查看, 关键的信息: Server Version: 18.09.6, Storage Driver: overlay2, Docker Root Dir: /var/lib/docker. 我的 docker driver 是 overlay2.
ls -alh /varl/lib/docker/overlay2
. 咦! 为什么都是 4.0KB 大小? 和我的 docker images 显示的 size 不同, 明明 size 有几 G 大.
想起了 Linux 在磁盘上表现为用 block 去存储, 一个 block 是 4.0KB.ls 命令显示的只是文件夹的 meta-data, 不是实际内容在磁盘的占有大小.
?
怎么查看实际磁盘占有大小? du -s /var/lib/docker/overlay2 的最后一行.
或者 du -sh /var/lib/docker/overlay2.
或者更 human readable 的, 根据文件大小排序 du -sh * | sort -h
来源: http://www.bubuko.com/infodetail-3233121.html