【问题标题】:Retrieve list of repositories and their tag versions in one call一次调用检索存储库列表及其标签版本
【发布时间】:2019-08-08 22:46:56
【问题描述】:

我有两个 azure CLI 查询。

az acr repository list

在我的容器注册表中检索存储库列表

az acr repository show-tags

为第一个查询返回的每个存储库检索版本标记

这会导致初始调用以检索列表,然后为每个返回的存储库调用 1 次。是否有替代方法可以将所需的调用次数减少到一个?一次性检索存储库列表及其版本。

show-tags 命令需要一个必需的存储库参数,我不知道有任何其他命令会返回我需要的信息。

【问题讨论】:

    标签: azure command-line-interface sh


    【解决方案1】:

    到目前为止,不可能一键完成。

    正如有人已经提到的,最少调用步骤是创建一个脚本来获取所有存储库(将存储库存储在一个变量中),然后在循环中使用az acr repository show-tags 获取它们的标签。

    与打击相同的脚本:

    result="$(az acr repository list -n ACR_name --output tsv)"
    
    for i in $result; do az acr repository show-tags -n ACR_name --repository $i; done
    

    测试结果如下:

    【讨论】:

    • 这就是我目前正在做的,感谢您的确认:)
    【解决方案2】:

    AFAIK 目前没有替代方法可以一次性检索存储库列表及其版本。我建议通过在此处发布来分享此反馈 -> https://feedback.azure.com/forums/903958-azure-container-registry

    您可能已经知道的一个建议是,现在作为一种解决方法,您可以开发一个小脚本来使用 list 命令获取所有存储库,并依次提供每个存储库名称作为输入到显示标签命令并连接所有存储库的输出。

    希望这会有所帮助!

    【讨论】:

      【解决方案3】:

      要获取可用于docker pull 的完整图像名称列表,请执行以下操作:

      export REGISTRY=mycontainerregistry
      
      #!/bin/bash
      mycontainers=$(az acr repository list --name $REGISTRY --output tsv)
      for i in $mycontainers
      do
          echo -n "$REGISTRY.azurecr.io/$i:"
          az acr repository show-tags -n $REGISTRY --repository $i --output tsv|tail -1
      done
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-08-18
        • 2017-07-12
        • 1970-01-01
        • 2014-09-04
        • 2017-07-03
        • 1970-01-01
        • 2012-09-14
        • 1970-01-01
        相关资源
        最近更新 更多