代码之家  ›  专栏  ›  技术社区  ›  stackbiz

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

  •  0
  • stackbiz  · 技术社区  · 1 年前

    这是一个 manifest.json 生成者“ docker save “在Ubuntu上:

    [
      {
        "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 ?

    1 回复  |  直到 1 年前
        1
  •  4
  •   Sathish    1 年前
    jq -r '.[0].RepoTags[0]' manifest.json
    

    此命令分解如下:

    • .[0] 访问JSON数组的第一个元素(假设数组中只有一个元素,如您的示例所示)。
    • .RepoTags[0] 访问“RepoTags”数组中的第一个元素,该数组包含hello/world:latest格式的图像名称和版本。