无法从Azure容器注册表

时间:2018-04-09 08:25:34

标签: azure-web-sites azure-container-service azure-container-registry

我在Azure中部署了一个Linux应用服务,使用私有Azure容器注册表中的映像。

服务正常运行,尽管图像没有变化(没有新的推送),但App Service已经重新部署。我理解这是Azure如何处理容器,在其认为合适时交换实例的预期部分。

但是,此图像无法再成功部署,以下是来自Kudu的日志(名称已更改):

2018-04-09 07:28:11.817 INFO  - Starting container for site 
2018-04-09 07:28:11.818 INFO  - docker run -d -p 36165:8080 --name my-service_0 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITES_PORT=8080 -e WEBSITE_SITE_NAME=my-service -e WEBSITE_AUTH_ENABLED=False -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_INSTANCE_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX -e HTTP_LOGGING_ENABLED=1 myacr.azurecr.io/images/my-image:latest  

2018-04-09 07:28:14.200 INFO  - Issuing docker pull myacr.azurecr.io/images/my-image:latest 
2018-04-09 07:28:14.327 ERROR - docker pull returned STDERR>> Error response from daemon: Get https://myacr.azurecr.io/v2/images/my-image/manifests/latest: unauthorized: authentication required

以下是在本地提取图像的结果:

docker pull myacr.azurecr.io/images/my-image:latest
latest: Pulling from images/my-image 
53478ce18e19: Already exists 
d1c225ed7c34: Already exists 
c6724ba0c09a: Already exists 
377ae380bb14: Pulling fs layer 
ab6e212b3598: Pulling fs layer 
377ae380bb14: Downloading 
ab6e212b3598: Verifying Checksum 
ab6e212b3598: Download complete
unknown blob

我相当确定该图片已在3天前成功部署,并且从那时起就没有推送过该标签。

我有什么办法可以恢复这张图片吗?

有什么方法可以让我知道这个部署已经开始失败了吗?

1 个答案:

答案 0 :(得分:1)

似乎您的容器Web应用实例无法通过Azure容器注册表进行身份验证。

Azure容器注册表到Linux Web App的连接有时会出现问题。使用容器设置页面上的“私有注册表”标签代替ACR通常可以为我解决问题。

只需提供以下ACR回购凭据,而不是在“ ACR”标签上选择回购即可。

enter image description here