【问题标题】: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
测试结果如下:
【解决方案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