使用overlay2存储驱动时,如何查看类似devicemapper的详细信息?
用overlay2做Docker存储驱动时,docker info确实不会像devicemapper那样输出存储层、空间使用这类详细信息,但你可以通过以下方式获取同类数据:
查看整体磁盘占用
执行docker system df命令,它会列出镜像、容器、本地卷和构建缓存的空间使用情况;加上-v参数(docker system df -v)还能看到每个镜像、容器的具体空间消耗明细。检查Overlay2的层结构与挂载
Docker默认把overlay2的存储文件放在/var/lib/docker/overlay2/目录下,每个子目录对应一个存储层,里面的lower、upper、merged文件记录了层的挂载关系。你可以用下面的命令快速查看层的关联:find /var/lib/docker/overlay2 -type f -name "link"或者用
mount命令过滤出所有overlay类型的挂载,看看当前活跃的存储层挂载状态:mount | grep overlay查看单个容器/镜像的存储细节
针对具体的容器或镜像,执行docker inspect <容器ID/镜像ID>,在输出的GraphDriver字段里能找到该对象对应的overlay2层ID、挂载源等具体信息。监控存储性能
如果要监控IO性能,直接用iostat、dstat这类系统工具就行——overlay2的性能依赖底层文件系统,这些工具能真实反映存储的读写表现。
补充:overlay2设计得更轻量化,它的层结构直接依托底层文件系统的特性(比如XFS的reflink),不需要像devicemapper那样单独维护块设备的状态,这也是
docker info没输出同类细节的原因。
内容的提问来源于stack exchange,提问作者Anees

