Azure版本因Linux容器Azure应用服务部署而失败

时间:2019-02-27 03:19:25

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

我正在使用Azure版本和Azure App Service部署任务从Azure容器注册表中部署容器。我定义了一个订阅级服务连接。容器注册表设置设置为:

Registry or Namespace: <registry>.azurecr.io
Image: rrez/vnext/dev/booking
Tag: latest
Startup command: "dotnet", "Booking.API.dll"

任务成功完成,但是在App Service上的“容器日志”中查看时,我看到:

2019_02_25_RD00155D9B2488_docker.log:
2019-02-25 22:27:07.101 INFO  - Issuing docker pull: imagename =<registry>.azurecr.io/rrez/vnext/dev/booking:latest
2019-02-25 22:27:07.260 INFO  - Issuing docker pull: imagename =<registry>.azurecr.io/rrez/vnext/dev/booking:latest
2019-02-25 22:27:07.410 INFO  - Issuing docker pull <registry>.azurecr.io/rrez/vnext/dev/booking:latest
2019-02-25 22:27:07.487 ERROR - docker pull returned STDERR>> Error response from daemon: Get https://<registry>.azurecr.io/v2/rrez/vnext/dev/booking/manifests/latest: unauthorized: authentication required

这似乎是ACR访问问题,但我希望订阅级服务连接具有足够的权限。

由于这是Azure版本,因此没有可用于添加其他身份验证详细信息的YAML配置。

我将发布任务中的YAML粘贴到成功完成的Build中,并收到相同的错误。

YAML是:

- task: AzureRmWebAppDeployment@4
  displayName: 'Azure App Service Deploy: P-RREZ-BOOKING-PREPROD'
  inputs:
    ConnectionType: AzureRM
    azureSubscription: 'RightRez.Services SubscriptionSC'
    appType: webAppContainer
    WebAppName: 'P-RREZ-BOOKING-PREPROD'
    deployToSlotOrASE: true
    ResourceGroupName: '<ResourceGroup>-RG'
    DockerNamespace: <registry>.azurecr.io
    DockerRepository: rrez/vnext/dev/booking
    DockerImageTag: latest
    StartupCommand: '"dotnet", "Booking.API.dll"'

不确定问题出在哪里。

1 个答案:

答案 0 :(得分:0)

您是否已在ACR中设置访问级别?如果不是,请尝试从here设置一个。我遇到了类似的问题,我尝试设置角色分配,并且成功了。