如何通过Docker CLI打印生成镜像ID的镜像配置JSON对象?
获取Docker镜像ID对应的配置对象(无需解压tar包)
你可以用Docker官方的buildx工具直接提取生成镜像ID的配置对象,不用再折腾tar包解压:
使用docker buildx imagetools inspect命令
这个命令能直接输出镜像的manifest信息,其中包含生成镜像ID的核心配置内容。
输出完整配置对象
docker buildx imagetools inspect --format '{{json .Manifest.Config}}' <镜像名或ID>
输出格式化后的可读内容
如果想让输出更易读,可以结合jq工具(需提前安装):
docker buildx imagetools inspect --format '{{json .Manifest.Config}}' <镜像名或ID> | jq
如果你的Docker还没启用buildx,先执行以下命令开启:
docker buildx install
备选方案(依赖jq)
先从镜像manifest里拿到配置的哈希值:
docker manifest inspect <镜像名或ID> | jq -r '.config.digest'
然后直接拉取该配置对象并查看:
docker pull <镜像仓库地址>/<镜像名>@<上面拿到的digest> docker inspect <拉取后的配置镜像ID>
要注意的是,docker inspect输出的是镜像的运行时元数据,并非生成镜像ID的原始配置对象——后者正是tar包中顶层<镜像ID>.json的内容,而上面的方法能直接提取这部分内容。
内容的提问来源于stack exchange,提问作者Lisanna
相关产品推荐
相关产品推荐

