Azure应用服务私有容器注册表登录问题

时间:2020-11-03 15:42:09

标签: azure azure-devops azure-web-app-service azure-functions

我正在使用gitlab容器注册表和azure应用程序服务。在应用程序服务中,我从gitlab中提取容器并将其作为服务。我的问题是我将新图像从gitlab-ci.yaml推送到应用程序的容器设置,但是问题是每次我推送新的容器版本时,它都会清除容器设置下的登录名和密码信息。因此,我必须在容器设置页面中输入gitlab deploy令牌。我该如何预防?谢谢。看到图片

enter image description here

2 个答案:

答案 0 :(得分:0)

而不是使用它来更新您的Web应用

az webapp create

尝试使用

az webapp config container set --docker-custom-image-name MyDockerCustomImage --docker-registry-server-password StrongPassword --docker-registry-server-url [] --docker-registry-server-user DockerUserId --name MyWebApp --resource-group MyResourceGroup

Documentation

答案 1 :(得分:0)

我们同意 CSharpRocks ,据官方document称,我们需要使用az webapp config container set命令来指定容器注册表和要为Web应用程序部署的映像:

az webapp config container set --name <app-name> --resource-group AppSvc-DockerTutorial-rg --docker-custom-image-name <registry-name>.azurecr.io/appsvc-tutorial-custom-image:latest --docker-registry-server-url https://<registry-name>.azurecr.io

有关详细信息:

<app_name>替换为您的Web应用程序的名称,并将<registry-name>替换为注册表名称的两个位置。

  • 使用除Docker Hub以外的注册表时(如本示例所示), --docker-registry-server-url的格式必须为https://,后跟注册表的完全限定域名。
  • 消息“未提供访问Azure容器的凭据 注册表。尝试查找...”会告诉您Azure正在使用 应用程序的托管身份以通过容器注册表进行身份验证 而不是要求用户名和密码。
  • 如果遇到错误“ AttributeError:'NoneType'对象没有属性'reserved'”,请确保您的<app-name>是正确的。