6

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

该服务已启动并运行良好,尽管图像没有更改(没有新推送),但应用服务已重新部署。我理解这是 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 天前已成功部署,并且从那时起就没有推送到标签。

有什么办法可以恢复这个图像吗?

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

4

1 回答 1

1

您的 Web App for Containers 实例似乎无法通过 Azure Container Registry 进行身份验证。

Azure 容器注册表到 Linux Web 应用程序的连接有时会有点问题。使用容器设置页面上的“私有注册表”选项卡而不是 ACR 通常可以解决我的问题。

只需提供您的 ACR 回购凭证,而不是在 ACR 选项卡上选择您的回购。

在此处输入图像描述

于 2018-07-09T08:55:08.620 回答