azure - Linux 容器 Azure 应用服务部署的 Azure 发布失败
问题描述
我正在使用 Azure Release 和 Azure App Service Deploy 任务从 Azure Container Registry 部署容器。我定义了一个订阅级别服务连接。容器注册表设置设置为:
Registry or Namespace: <registry>.azurecr.io
Image: rrez/vnext/dev/booking
Tag: latest
Startup command: "dotnet", "Booking.API.dll"
任务成功完成,但在应用服务上的容器日志中查看时,我看到:
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 粘贴到成功完成的构建中并收到相同的错误。
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"'
不确定问题出在哪里。
解决方案
您是否在 ACR 中设置了访问级别?如果没有,请尝试从这里设置一个。我有类似的问题,我尝试设置角色分配并且它有效。
推荐阅读
- sql - 在具有不同数据的同时合并多个表
- jquery - 仅使用 jquery 获取由 css 隐藏的可见单词
- java - Java将arraylist添加到对象?《飞行值机练习》
- javascript - Django 应用程序中 javascript 和 jquery 模块的 UI
- textures - 从 Meshlab 导出带有纹理的 .obj?
- java - 在 golang os/exec 中使用外部库 .jar 运行 java .class 文件
- javascript - JavaScript - 无法读取未定义的属性“顶部”
- wpf - 为 WPF 应用程序创建安装程序
- javascript - 无法通过 Angular 管道搜索对象数组值
- angular - 无法加载资源:Ionic 4 中的 net::ERR_CLEARTEXT_NOT_PERMITTED