我正在使用Azure CLI v2.0.62。
我在Azure的单个帐户上有多个订阅-S1、S2、S3、S4。
我正在执行下面的脚本插入动态值到存储库:
az login
az acr build "ParentStorage" --platform windows -f Dockerfile -t ChildRepository:<dynamicValue>
这里,ParentStorage
是Storage Account
类型,并且ChileRepository
是Repository
类型。
起初,当登录命令得到执行,它给我可用的订阅列表。但在执行az acr build...
命令后,它抛出如下错误消息:
- 错误**
未能在订阅"Visual Studio专业版(ID)"中找到名为"ParentStorage"、类型为"Microsoft. ContainerRegistry/registrations"的资源。
到目前为止,我发现它试图在我的Visual Studio订阅(S1
)下搜索。由于S1
是默认订阅,而存储库在S2
中。所以我将S2
设置为默认订阅,并再次尝试 * 但它不起作用 *。
事件,当我尝试执行下面的命令时,它抛出了相同的错误:az acr show --name ParentStorage
- P.S.**:我尝试使用特定订阅登录,但无法登录。
请告诉我我错过了什么。
4条答案
按热度按时间k3fezbri1#
对于您的问题,您的注册表似乎不在当前订阅中。当您使用CLI命令
az login
时,您使用默认订阅登录。对您而言,“Visual Studio Professional(ID)”似乎是默认值。您应检查您的注册表是否在当前订阅中。如果不在,则应通过CLI命令将该订阅设置为当前订阅:那么我建议您最好使用CLI命令再次检查注册表是否存在:
它将显示您的注册表信息。这次,您可以根据需要使用CLI命令
az acr build
构建映像。此外,您还可以通过CLI命令
az login
使用参数--subscription
设置登录时间内的订阅。如果你还有其他问题,请告诉我。或者如果你认为这是有帮助的,你可以接受它作为答案。
jucafojl2#
我遇到了这个问题,并发现了另一个问题。我使用的服务提供商(SP)只有“Acr Push”角色。我必须添加“Contributor”角色才能解决这个问题。因此,“Acr Push”似乎没有足够的权限查看ACR资源。
nhjlsmyf3#
只需按照here中提供的答案添加一项内容
我们可以使用下面的命令用特定的订阅ID来构建,这样每当多个用户想用他们不同的默认订阅ID来执行这个命令时,他们就不需要将其他订阅作为他们的默认订阅。
az acr build --subscription $SubscriptionId -r $registry --platform Windows -f Dockerfile -t XYZ:v$version obj
希望这对其他人也有帮助。
xhv8bpkk4#
我设法克服了在命令中添加资源组时出现的相同错误。
希望这对你有用。