Сбой конвейера выпуска Azure при попытке извлечь образ из ACR

Я пытаюсь использовать конвейеры Azure для ci и cd.

1. Образ моего приложения создан и помещен в реестр контейнеров Azure.

2- Конвейер выпуска пытается извлечь образ из ACR, он получает ошибку. Логи из настроек контейнера:

INFO  - Pulling image: registryname/repo:latest
ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response = {"message":"Get https://registry-1.docker.io/v2/registryname/repo/manifests/latest: unauthorized: incorrect username or password"}

ERROR - Pulling docker image registryname/repo:latest failed:
INFO  - Pulling image from Docker hub: registryname/repo:latest
ERROR - DockerApiException: Docker API responded with status code=NotFound, response = {"message":"pull access denied for registryname/repo, repository does not exist or may require 'docker login': denied: requested access to the resource is denied"}

ERROR - Image pull failed: Verify docker image configuration and credentials (if using private repository)
INFO  - Stopping site appname because it failed during startup.

Ss из конфигурации:

Спасибо за вашу помощь.

вам просто нужно передать действительный реестр контейнеров и имя образа

Sajeetharan 20.12.2020 15:10

Я думаю, что мой реестр контейнеров действителен, и имя образа также правильное. Почему вы решили, что они недействительны?

dcy 20.12.2020 15:18

Поскольку сообщение об ошибке указывает, что

Sajeetharan 20.12.2020 15:20

Я проверил учетные данные, но они кажутся правильными, однако, когда я пытаюсь войти в систему из cmd, например, имя реестра для входа в докер, я получаю несанкционированный доступ: требуется аутентификация.

dcy 20.12.2020 16:15

Вам необходимо создать подключение службы из Azure DevOps или использовать cli для аутентификации с помощью acr.

Amit Baranes 20.12.2020 17:04

У меня уже есть подключение к службе, azure devops успешно передал образы в acr, но моя проблема заключается в развертывании их в службе приложений.

dcy 21.12.2020 07:25

@dcy Не могли бы вы поделиться некоторыми подробностями о содержимом конвейера сборки и настройках конвейера выпуска? Есть ли вероятность, что ваши теги не совпадают? Пожалуйста, убедитесь, что тег, который вы пытаетесь получить в релизе, является тегом, отправленным в конвейер сборки.

LoLance 21.12.2020 08:06
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
Как установить LAMP Stack - Security 5/5 на виртуальную машину Azure Linux VM
В предыдущей статье мы завершили установку базы данных, для тех, кто не знает.
Как установить LAMP Stack 1/2 на Azure Linux VM
Как установить LAMP Stack 1/2 на Azure Linux VM
В дополнение к нашему предыдущему сообщению о намерении Azure прекратить поддержку Azure Database для MySQL в качестве единого сервера после 16...
0
7
1 433
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Если вы используете ACR для хранения образа и хотите развернуть содержащиеся в нем образы в Azure Web App, вам необходимо задать имя образа как ACRName.azurecr.io/image:tag, а не только имя и тег образа. И установите переменные среды, например:

DOCKER_REGISTRY_SERVER_USERNAME — имя пользователя для сервера ACR. DOCKER_REGISTRY_SERVER_URL — полный URL-адрес сервера ACR. (Для например, https://my-server.azurecr.io.) DOCKER_REGISTRY_SERVER_PASSWORD — пароль для сервера ACR.

И учетные данные должны иметь достаточно разрешений. Когда все в порядке, логи контейнера будут выглядеть так:

Спасибо за ваш ответ, но переменные среды определены, как вы сказали выше. Вы написали, что у учетных данных должно быть достаточно разрешений. Как я могу это проверить?

dcy 21.12.2020 07:29

@dcy Если вы используете пользователя-администратора и пароль ACR, то у него уже достаточно прав. На самом деле, я думаю, что ваша проблема заключается в использовании неправильного имени изображения.

Charles Xu 21.12.2020 07:58

Спасибо похоже вы правы. Имя моего изображения было неправильным, теперь оно работает.

dcy 21.12.2020 09:09

Другие вопросы по теме