我正在编写一个我想运行的脚本
az acr import
。该命令尝试列出存储库,但失败并显示错误:在订阅中找不到名称为“name”且类型为“Microsoft.ContainerRegistry/registries”的资源
正如您在下面的屏幕截图中看到的。该注册表确实存在于订阅中。我能够 登录,运行 docker push 以及成功完成。但 az acr show 返回失败。
我尝试登录另一个 Azure 订阅并尝试运行
az acr show -n <acr-name>
即使 az acr 登录命令成功,也会收到与您相同的错误代码,请参阅以下内容:-
当我运行相同的命令并登录到部署了 ACR 的正确订阅时,我就能够使用
az acr show -n <acr-name>
命令检索 acr 详细信息,请参阅下文:-
我在每个 Azure CLI 命令之前使用 sudo 以确保我以 root 用户身份运行脚本。
脚本:-
登录我的 Azure 帐户:-
sudo az login
检查帐户是否设置为与我的 ACR 一样的正确订阅:-
sudo az account set --subscription <subscription-id>
登录 ACR:-
sudo az acr login --name <acr-name> --username siliconacr --password <password>
运行命令:-
sudo az acr show --name siliconacr
确保在 az acr show - n 命令中仅添加容器注册表名称,而不是登录服务器名称。
输出:-
如果问题仍然存在,请尝试使用
az logout
命令并再次尝试登录,因为 ubuntu VM 中的 Azure CLI 可能已缓存凭据。
参考:-
az acr show -n <registryName> --resource-group <registry-resource-group>