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

如何在containerd中查看image manifest?

containerd环境查看镜像Manifest的操作方法

首先纠正一个常见误区:containerd配套的ctr、nerdctl并非没有manifest操作能力,只是命令用法和docker存在差异,很多使用者没找对参数,不同工具的具体操作方式如下:

1. 使用ctr(containerd原生命令行)

  • 本地已拉取的镜像,可直接提取格式化后的完整manifest:
ctr image inspect --field ".manifest" <镜像名:标签>
  • 查看远程镜像manifest前,可先拉取镜像,加--platform all参数可拉取多架构manifest列表:
ctr image pull --platform all <远程镜像名:标签>
  • 如果需要获取原始未格式化的manifest内容,可通过content子命令直接读取对应存储块:
# 先查询镜像manifest对应的digest
ctr image ls -q | grep <镜像名:标签>
# 读取原始manifest内容
ctr content get <上一步输出的digest>

2. 使用nerdctl

nerdctl的manifest操作逻辑和docker基本对齐,很多人没找到对应能力是因为漏了manifest子命令:

  • 查看远程镜像(无需提前拉取到本地)的manifest:
nerdctl manifest inspect <远程镜像名:标签>
  • 查看本地已拉取镜像的完整manifest:
    默认nerdctl image inspect输出的是简化版基础信息,加--mode=native参数即可输出全量底层元数据,其中包含完整manifest结构,系统装了jq的话可以直接提取对应字段:
nerdctl image inspect --mode=native <本地镜像名:标签> | jq '.[0].Manifest'

3. 使用crictl

crictl作为Kubernetes CRI标准客户端,没有提供直接输出原始manifest的原生命令,可通过以下步骤获取:

  • 先查询目标镜像的ID:
crictl images <镜像名:标签>
  • 拿到镜像ID后,可调用ctr命令读取对应manifest内容;也可以执行crictl inspecti <镜像ID>查看CRI规范格式的镜像元数据,其中包含manifest的核心字段。

注意:查看多架构镜像的manifest列表(也叫fat manifest)时,不要指定单平台参数,否则输出的会是对应架构的单份manifest,而非多架构索引列表。

内容的提问来源于stack exchange,提问作者paco alcacer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 23:21:43