资源占用对比

对比维度skopeocrane
设计理念轻量级,无守护进程,直接操作 registry API轻量级,但主要面向开发者工具链
内存占用极低,采用流式处理和分块传输,避免一次性加载整个镜像中等,作为 Go 单二进制文件表现尚可
CPU 占用低,采用增量处理和连接复用中等
存储占用MB 级(仅二进制文件本身)MB 级
依赖无守护进程依赖,无需 Docker/Podman 服务无守护进程依赖

为什么 skopeo 更省资源?

  1. 真正的“零本地存储”操作skopeo inspect 可以直接读取远程镜像的元数据,完全不下载镜像内容到本地。而 crane 的某些操作可能会在本地产生更多中间文件。
  2. 流式处理机制:在处理大型镜像时,skopeo 采用分块传输和增量处理,避免将整个镜像加载到内存中。实测表明,优化后的 skopeo 相比传统方法可节省 30-50% 的内存使用
  3. 连接复用:skopeo 通过保持 HTTP 连接复用,减少了连接建立和断开的开销。

安装 skopeo

# Ubuntu/Debian
sudo apt install skopeo

# CentOS/RHEL/Fedora
sudo dnf install skopeo

# 验证
skopeo --version

例子

查看所有可用标签(不拉取镜像)

skopeo list-tags docker://ghcr.io/sagernet/sing-box

查看 latest 标签的元数据(不拉取镜像)

skopeo inspect docker://ghcr.io/sagernet/sing-box:latest

标签: none

添加新评论