我有一个通过二头肌脚本使用默认公共(public)图像构建的容器应用程序。 我将系统管理的身份分配给容器应用程序。我已将 AcrPull 角色分配给 ACR 私有(private)注册表 上的身份
ACR 私有(private)注册表已禁用管理员凭据,因此我在 containerApp 中使用托管身份。
我尝试使用此命令通过 azure shell 使用来自 ACR 的图像更新 containerApp
az containerapp up -n mycontainerapp -g my-rg -i myregistry.azurecr.io/mybranch-dev:latest --ingress external --target-port 5173
Failed to retrieve credentials for container registry. Please provide the registry username and password.
有人可以帮忙吗?谢谢
最佳答案
我已按照以下步骤使用托管身份在 ACR 和 ACA 之间建立连接来拉取图像,如下所示。请检查您是否可以按照以下步骤解决该问题。
为了重现该问题,我配置了容器应用程序和容器注册表。 转到 Azure 容器应用并启用系统分配的托管标识(如下所示)并添加 AcrPull 角色。
将 AcrPull 角色添加到 ACA 后,我将示例镜像推送到容器注册表,如下所示。
编辑:
现在,在从 ACR 更新容器应用程序中的镜像之前,您必须编辑修订版本,因为现有修订版本是使用公共(public)存储库创建的。 要编辑修订版本,请转到 ACA 中的容器,然后单击“编辑并部署”。
单击保存并创建新修订。您还可以在revisions中使用验证.
现在我使用 az containerapp update
来更新图像
az containerapp update -n <container-app-name> -g <rg-name> -i acrvjyps.azurecr.io/nginx:v5
关于azure - 无法使用 az up 命令更新 containerApp 的镜像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76610215/