Как развернуть образ docker из реестра пакетов Github в Azure Web Apps

#azure-web-app-service #azure-webapps #github-package-registry #azure-web-app-for-containers

#azure-web-app-service #azure-webapps #github-package-registry #azure-web-app-for-containers

Вопрос:

У меня есть реестр пакетов Github об образе Docker. Я хочу развернуть его в Azure Web Apps. Я пробую настройку следующим образом,

  1. URL-адрес сервера: https://docker.pkg.github.com
  2. Полное имя и тег изображения: berviantoleo / my-telegram-bot / my-telegram-bot: последняя версия

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

Я вижу из журналов, что в нем есть такие журналы:

 2020-11-16T02:46:04.868Z INFO  - Pulling image from Docker hub: berviantoleo/my-telegram-bot/my-telegram-bot:latest
  

Это очень странно, потому что я уже меняю URL-адрес сервера, поддерживает ли URL-адрес сервера только Docker Hub? Мне нужна помощь по этому поводу. Я уже пытаюсь из Dockerhub, да, его можно развернуть. Но сейчас я хочу попробовать из реестра пакетов Github.

Обновить:

  • Я допустил ошибку, полное имя должно быть: docker.pkg.github.com/berviantoleo/my-telegram-bot/my-telegram-bot:latest необходимо включить docker.pkg.github.com

  • При переходе в частный репозиторий и предоставлении имени пользователя и пароля он может извлечь изображение.

  • Когда общедоступный репозиторий, ему все равно нужны имя пользователя и пароль, возможно, потому, что я неправильно понимаю пакет. Я думаю docker.pkg.github.com , что все еще необходимо пройти проверку подлинности. Я получаю этот журнал:

      2020-11-18T03:33:57.973Z ERROR - DockerApiException: Docker API responded with status code=InternalServerError, response={"message":"Get https://docker.pkg.github.com/v2/berviantoleo/tele-bot/tele-bot/manifests/latest: no basic auth credentials"}
      
  • Мне все еще нужно найти решение, которое не требует имени пользователя и пароля.

Комментарии:

1. Есть какие-либо обновления по этому вопросу? Решает ли это вашу проблему?

2. Если установить для него значение private registry и указать имя пользователя и пароль, его можно правильно извлечь. Я думаю, что я неправильно понимаю пакет github. Общедоступному репозиторию по-прежнему требуется имя пользователя и пароль, чтобы веб-приложение могло извлекать изображение, я думаю docker.pkg.github.com , что для извлечения изображения нужна учетная запись с аутентификацией, независимо от того, общедоступная или частная. Также я допустил ошибку в полном имени. Я изменил правильное полное имя, в веб-приложении Azure можно извлечь изображение. Я могу сказать, что проблема не в Azure web app, это моя ошибка. Журнал из Azure web app на самом деле сбивает с толку.

3. Если ответ полезен и решает вашу проблему, пожалуйста, примите его.

4. Если у вас есть еще какие-либо вопросы по этой проблеме, пожалуйста, дайте мне знать. Если это работает для вас, пожалуйста, примите это. Это не сложно принять.

5. Извините, мне все еще нужно извлечь из пакета Github с общедоступным репозиторием, но без имени пользователя и пароля. Я знаю, что это будет очень специфично для самого пакета Github. Но это то, что я хочу выяснить. Извините, ваш ответ приемлем для общего вопроса, но не для моей текущей проблемы.

Ответ №1:

Что ж, если вы извлекаете образ из общедоступного реестра, вам не нужно устанавливать учетные данные, и по умолчанию общедоступным реестром является docker hub. Для других реестров, частного реестра, вам необходимо установить переменную среды DOCKER_REGISTRY_SERVER_URL , чтобы указать веб-приложению извлекать из него изображения. И установите DOCKER_REGISTRY_SERVER_USERNAME и DOCKER_REGISTRY_SERVER_PASSWORD для учетных данных. Для быстрого тестирования используемый вами образ должен находиться в частном реестре. Итак, вам нужно установить для него учетные данные.