最标准可靠的方式是用 docker system df 查看镜像磁盘占用,其 images 行 size 列显示所有镜像合计空间,reclaimable 表示可清理部分;加 -v 参数可查看各镜像的 size、shared size、unique size 等明细。

直接用 docker system df 就能查出镜像占了多少磁盘空间,这是最标准、最可靠的方式。
查看整体磁盘占用分布
运行命令:
docker system df输出会按类型分组显示:Images(镜像)、Containers(容器)、Local Volumes(本地卷)、Build Cache(构建缓存)。其中 Images 行的 SIZE 列就是所有镜像合计占用的空间,RECLAIMABLE 表示可清理的部分(比如悬空镜像)。
查看每个镜像具体占多少空间
加 -v 参数看明细:
docker system df -v在 Images space usage 区域里,每行对应一个镜像,包含:
- SIZE:该镜像总大小(含所有层)
- SHARED SIZE:被其他镜像共用的层大小
- UNIQUE SIZE:仅此镜像独有的层大小
- CONTAINERS:当前正在使用它的运行中容器数量
补充验证方式(底层路径)
如果想绕过 Docker CLI 直接看文件系统占用,可检查 Docker 根目录:
sudo du -sh /var/lib/docker/image/overlay2/imagedb/或更宽泛地统计整个镜像存储区域:
sudo du -sh /var/lib/docker/image/注意:这个值和 docker system df 显示的可能略有差异,因为后者只统计有效镜像元数据,而 du 会包含临时文件、未清理的中间状态等。日常管理推荐以 docker system df 为准。
快速定位大镜像
结合排序查看最大的几个镜像:
docker images --format "{{.Repository}}:{{.Tag}}\t{{.Size}}" | sort -k 2 -h -r | head -10这能帮你一眼识别哪些镜像是空间大户,便于后续决定是否清理或优化。











