You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Docker SDK for Python获取Docker镜像大小?

如何使用Docker SDK for Python获取Docker镜像大小

本地镜像大小获取

对于本地已存在的镜像,直接通过镜像对象的attrs属性就能获取大小相关字段:

import docker
client = docker.from_env()
some_image : docker.models.images.Image = client.images.list()[0]

# 实际磁盘占用大小(单位:字节,考虑层共享)
actual_size = some_image.attrs['Size']
# 虚拟总大小(所有层大小之和,包含重复的共享层)
virtual_size = some_image.attrs['VirtualSize']

# 转换为更易读的MB单位
print(f"实际占用大小:{actual_size / 1048576:.2f} MB")
print(f"虚拟总大小:{virtual_size / 1048576:.2f} MB")

远程仓库镜像大小获取

如果需要获取Docker Hub等远程仓库中镜像的大小,可通过get_registry_data方法获取元数据:

import docker
client = docker.from_env()

# 指定目标镜像(例如ubuntu:latest)
target_image = "ubuntu:latest"
registry_data = client.images.get_registry_data(target_image)

# 提取远程镜像的压缩大小(单位:字节)
remote_size = registry_data.attrs['Descriptor']['size']

print(f"远程镜像大小:{remote_size / 1048576:.2f} MB")

大小差异说明

  • 本地镜像的Size是镜像在磁盘上的实际占用空间,由于Docker的层共享机制,这个值会小于等于VirtualSize。
  • 远程仓库的镜像大小是压缩后的镜像总大小,拉取到本地后,实际占用空间可能因本地已有共享层而更小。

内容的提问来源于stack exchange,提问作者J'e

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 05:50:41