如何从manifest.json获取镜像名称和版本

问题描述 投票:0回答:1

这是在 Ubuntu 上由“

manifest.json
”生成的
docker save

[
  {
    "Config":"a5a29aeb4d6a28cb5a0b759572ae5696f0a99a4be39aa4de08d8a897e6d12b95.json",
    "RepoTags":["hello/world:latest"],
    "Layers":["b0e93b0b2e63771ea0cd34f350681b4397c804e5ed5ba01aec23cfaf6c49bc51/layer.tar","f9b7caaf240b159e636f77a9571073f6e4d5a0541d864ec64e4e2808b282e302/layer.tar","1355029c32eee25981e17b0e89e946d9346cffdff29ff53858104ebfe6728d80/layer.tar","362092bb6a9ed18c0e88a9b1635e7c16914661935ce64f1b581d19fd5226463a/layer.tar","fe2bde379de2f44bb47d5d75a25294485f70d8b4c7a99a08b0fcef8f4076914d/layer.tar","4acfd2b9473bf5c17f50ad2ff04c148b1be79d1174509e0fb10d27ba8cff9294/layer.tar","e5131e82e66e45e002a88618254c1cde43a497d8a94fcb5d9b20171f19b15b96/layer.tar"]
  }
]

我想用“

jq
”从“
docker image name
”中获取
version
RepoTags

jq -e -r ".RepoTags" manifest.json

错误如下:

jq: error (at manifest.json:1): Cannot index array with string "RepoTags"

如何通过

jq
获得它?

bash docker ubuntu jq
1个回答
1
投票
jq -r '.[0].RepoTags[0]' manifest.json

该命令分解如下:

  • .[0] 访问 JSON 数组的第一个元素(假设数组中只有一个元素,如示例所示)。
  • .RepoTags[0] 访问“RepoTags”数组中的第一个元素,其中包含格式为 hello/world:latest 的图像名称和版本。
© www.soinside.com 2019 - 2024. All rights reserved.