Ошибка при извлечении изображения из ACR в функции Azure

Я пытаюсь развернуть образ в реестре контейнеров Azure (ACR) в моем приложении-функции, но не могу это сделать. Я отправил последний образ с компьютера в ACR после его создания. Также админ под ключом доступа включен. Посоветуйте, пожалуйста, как это решить. Результат журнала можно найти ниже.

Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2020-11-02T15:05:03.452Z INFO  - Pulling image: myacrqa.azurecr.io/myimage:v1
2020-11-02T15:05:03.462Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://ifckpacrqa.azurecr.io/v2/: read tcp IP:17045->IP:443: read: connection reset by peer"}

2020-11-02T15:05:03.462Z ERROR - Pulling docker image myacrqa.azurecr.io/offlinekpqa:v1 failed:
2020-11-02T15:05:03.462Z INFO  - Pulling image from Docker hub: myacrqa.azurecr.io/offlinekpqa:v1
2020-11-02T15:05:03.470Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://ifckpacrqa.azurecr.io/v2/: read tcp IP:17047->IP:443: read: connection reset by peer"}

2020-11-02T15:05:03.471Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-11-02T15:05:08.847Z INFO  - Stopping site ifc-kp-ml-qa because it failed during startup.
2020-11-02T15:10:01.023Z INFO  - Starting container for site
2020-11-02T15:10:01.024Z INFO  - docker run -d -p 8356:8081 --name ifc-kp-func_app_0_22558c6b_msiProxy -e WEBSITE_CORS_ALLOWED_ORIGINS=https://functions.azure.com,https://functions-staging.azure.com,https://functions-next.azure.com,https://storage.z13.web.core.windows.net -e WEBSITE_CORS_SUPPORT_CREDENTIALS=False -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=IFC-KP-ML-QA -e WEBSITE_AUTH_ENABLED=True -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=xxxx -e WEBSITE_INSTANCE_ID=65631c3af46c684539e2d9f55e37247be307daaa00f59cdf3231284117e30b40 appsvc/msitokenservice:2007200210  

2020-11-02T15:10:01.025Z INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2020-11-02T15:10:04.362Z INFO  - Pulling image: ifckpacrqa.azurecr.io/offlinekpqa:v1
2020-11-02T15:10:04.372Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://myacrqa.azurecr.io/v2/: read tcp IP:17489->IP:443: read: connection reset by peer"}

2020-11-02T15:10:04.373Z ERROR - Pulling docker image myacrqa.azurecr.io/myimage:v1 failed:
2020-11-02T15:10:04.373Z INFO  - Pulling image from Docker hub: myacrqa.azurecr.io/myimage:v1
2020-11-02T15:10:04.398Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://ifckpacrqa.azurecr.io/v2/: read tcp 10.168.216.12:17491->52.168.114.2:443: read: connection reset by peer"}

2020-11-02T15:10:04.401Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-11-02T15:10:09.853Z INFO  - Stopping site ifc-kp-ml-qa because it failed during startup.
2020-11-02T15:15:02.120Z INFO  - Starting container for site
2020-11-02T15:15:02.121Z INFO  - docker run -d -p 7603:8081 --name ifc-kp-ml-qa_0_969b061e_msiProxy -e WEBSITE_CORS_ALLOWED_ORIGINS=https://functions.azure.com,https://functions-staging.azure.com,https://functions-next.azure.com,https://storage.z13.web.core.windows.net -e WEBSITE_CORS_SUPPORT_CREDENTIALS=False -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=false -e WEBSITE_SITE_NAME=IFC-KP-ML-QA -e WEBSITE_AUTH_ENABLED=True -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=ifc-kp-ml-qa.aseqa.ifc.org -e WEBSITE_INSTANCE_ID=65631c3af46c684539e2d9f55e37247be307daaa00f59cdf3231284117e30b40 appsvc/msitokenservice:2007200210  

2020-11-02T15:15:02.122Z INFO  - Logging is not enabled for this container.
Please use https://aka.ms/linux-diagnostics to enable logging to see container logs here.
2020-11-02T15:15:04.469Z INFO  - Pulling image: myacrqa.azurecr.io/myimage:v1
2020-11-02T15:15:04.479Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://myacrqa.azurecr.io/v2/: read tcp IP:17953->IP:443: read: connection reset by peer"}

2020-11-02T15:15:04.479Z ERROR - Pulling docker image myacrqa.azurecr.io/myimage:v1 failed:
2020-11-02T15:15:04.479Z INFO  - Pulling image from Docker hub: myacrqa.azurecr.io/myimage:v1
2020-11-02T15:15:04.487Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://myacrqa.azurecr.io/v2/: read tcp IP:17955->IP:443: read: connection reset by peer"}

2020-11-02T15:15:04.490Z ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
2020-11-02T15:15:09.926Z INFO  - Stopping site ifc-kp-ml-qa because it failed during startup.



Ответы (1)


Чтобы вытащить образы докеров из ACR или другого частного реестра, вам необходимо установить следующие переменные среды:

введите описание изображения здесь

Вы можете установить эти переменные среды на портале Azure в параметрах функции. Или используйте команду Azure CLI az functionapp create с параметрами:

--deployment-container-image-name
--docker-registry-server-password
--docker-registry-server-user
person Charles Xu    schedule 03.11.2020
comment
Спасибо за ответ @Charles Xu. Но всегда ли мне нужно устанавливать их вручную? Я думал, что это означает автоматический выбор этих значений. - person Jay chuks; 03.11.2020
comment
@Jaychuks Для функции, да, вам всегда нужно устанавливать их вручную. - person Charles Xu; 03.11.2020
comment
Я попробовал. Все еще не сработало. Значения уже были там, и даже после изменения значений в конфигурации это не сработало. - person Jay chuks; 03.11.2020
comment
@Jaychuks Можете ли вы поделиться своими переменными среды со значениями и изображением в ACR? - person Charles Xu; 04.11.2020
comment
После обновления брандмауэра мне удалось развернуть образ в функции Azure. Быстрый вопрос. У меня есть модель машины, которую я развернул с помощью Docker в функции Azure (HTTP-триггер). Обычно ожидается, что каталог модели машинного обучения будет изменяться и обновляться после загрузки нового файла в Azure DataLake. Пожалуйста, как мне автоматизировать этот процесс обновления модели в Функциях Azure? - person Jay chuks; 09.11.2020
comment
@Jaychuks Я не занимаюсь машинным обучением. Так что у меня нет идей. Я просто помогаю вам с этим вопросом. Если это решит проблему, примите его. И вы можете создать еще один вопрос для ML. - person Charles Xu; 10.11.2020