Упражнение. Развертывание образа Docker в экземпляре контейнера Azure
Экземпляр контейнера Azure позволяет запустить образ Docker в Azure.
В предыдущем упражнении вы упаковывали и тестировали свое веб-приложение в виде локального образа Docker. Теперь вы хотите использовать выходные данные этого упражнения и сделать веб-приложение доступным глобально. Для этого можно запустить образ в качестве экземпляра контейнера Azure.
В этом упражнении вы повторно создадите образ веб-приложения и отправите его в реестр контейнеров Azure. Для запуска образа будет использоваться служба экземпляров контейнеров Azure.
Внимание
Для выполнения этого упражнения вам нужна собственная подписка Azure. При этом с вас может взиматься плата. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Создание реестра контейнеров
Войдите на портал Azure, используя свою подписку Azure.
В меню ресурсов или на домашней странице выберите элемент Создать ресурс. Откроется панель Создание ресурса.
В меню выберите Контейнеры, а затем — Реестр контейнеров.
Откроется панель Создание реестра контейнеров.
На вкладке Основные сведения введите указанные ниже значения для каждого параметра.
Параметр Значение Сведения о проекте Отток подписок Выберите подписку Azure, в которой вы можете создавать ресурсы и управлять ими. Группа ресурсов Выберите "Создать" и создайте новую группу ресурсов с именем learn-deploy-container-acr-rg. Запомните выбранное имя, поскольку оно будет использоваться в остальных упражнениях этого модуля. Также не забудьте очистить этот ресурс по завершении работы с модулем. Сведения об экземпляре Имя реестра Введите любое имя. Имя реестра должно быть уникальным в пределах Azure и содержать от 5 до 50 буквенно-цифровых символов. Расположение Выберите расположение, близкое к вам. Использование pон доступности Примите значение по умолчанию. Ценовой план Стандартные Выберите Review + create (Просмотреть и создать). Когда отобразится уведомление Проверка пройдена, щелкните Создать. Перед продолжением дождитесь завершения развертывания реестра контейнеров.
Выберите Перейти к ресурсу. В области Реестр контейнеров отображаются основные сведения о реестре контейнеров.
В меню ресурсов в разделе Параметры выберите пункт Ключи доступа. Появится панель Ключи доступа для реестра контейнеров.
Если параметр пользователя администратора отключен, установите флажок рядом с ключом доступа администратора. Отобразятся имя пользователя и пароль для реестра контейнеров.
Запишите значения Имя реестра, Сервер входа, Имя пользователя и Пароль для реестра контейнеров.
Примечание.
В этом упражнении мы включили доступ к учетной записи администратора для отправки образов и тестирования реестра. В рабочей среде важно отключить доступ к учетной записи администратора и использовать Защита идентификации Microsoft Entra, как только вы удовлетворены тем, что реестр работает должным образом.
Отправка образа для приложения системы бронирования номеров в гостинице в реестр контейнеров Azure
В локальной командной строке выполните следующую команду, заменив
<registry-name>
имя реестра контейнеров, чтобы пометить текущийreservationsystem
образ именем реестра:docker tag reservationsystem:latest <registry-name>.azurecr.io/reservationsystem:latest
docker image ls
Выполните команду, чтобы убедиться, что образ помечен правильно:docker image ls
Должен отобразиться результат, аналогичный следующему:
REPOSITORY TAG IMAGE ID CREATED SIZE reservationsystem latest a56281e7038f 4 minutes ago 1.76GB <registry-name>.azurecr.io/reservationsystem latest a56281e7038f 4 minutes ago 1.76GB
В командной строке войдите в Реестр контейнеров Azure. Используйте команду
docker login
и укажите сервер входа для реестра, который вы запомнили ранее. При появлении запроса введите имя пользователя и пароль из ключей доступа.docker login <login-server>
Примечание.
Вы можете получить ответ на ошибку от управляющей программы, которую приложение не зарегистрировано в идентификаторе Microsoft Entra. Как отмечалось ранее в этом упражнении, вы включили ключ доступа Администратор для тестирования развертывания.
Введите следующую команду, заменив
<registry-name>
собственное имя реестра, чтобы отправить образ в реестр в Реестр контейнеров Azure:docker push <registry-name>.azurecr.io/reservationsystem:latest
Дождитесь завершения отправки. Отправка всех объектов образа в репозиторий займет несколько минут. Ход выполнения можно наблюдать по мере продвижения каждого объекта от "Ожидание до подготовки к отправке в pushed".
Проверка содержимого реестра
Для выполнения остальной части упражнения вы вернетесь на портал Azure.
На портале Azure вернитесь к своему реестру контейнеров.
В меню ресурсов в разделе Службы выберите элемент Репозитории. Откроется панель Репозитории для реестра контейнеров.
Убедитесь, что репозиторий reservationsystem отображается. Выберите репозиторий reservationsystem и убедитесь, что он содержит образ с тегом latest.
Загрузка и запуск образа с помощью экземпляра контейнера Azure
На портале Azure выберите Создать ресурс. Откроется панель Создание ресурса.
В меню ресурсов выберите Контейнеры, а затем — Экземпляры контейнеров.
Откроется панель Создание экземпляра контейнера.
Настройка экземпляра контейнера выполняется в несколько действий. Для начала укажите сведения о группе ресурсов и контейнере. Затем настройте параметры сети контейнера и перезапустите политику.
На вкладке Основные сведения введите указанные ниже значения для каждого параметра.
Параметр Значение Сведения о проекте Отток подписок Выберите подписку Azure по умолчанию, в которой вы можете создавать ресурсы и управлять ими Группа ресурсов Повторно используйте имеющуюся группу ресурсов learn-deploy-container-acr-rg. Сведения о контейнере Имя контейнера hotelsysteminstance Область/регион Используйте расположение по умолчанию Зоны доступности Примите значение по умолчанию Номер SKU Стандартные Источник изображения Другой реестр Тип изображения Private Изображения <имя-реестра>.azurecr.io/reservationsystem:latest Сервер входа реестра образов Введите имя сервера входа для реестра Имя пользователя для реестра образов Введите имя пользователя для реестра Пароль для реестра образов Введите пароль для реестра Тип ОС Linux Размер Оставьте для параметра Размер значения по умолчанию: 1 виртуальный ЦП, 1,5 ГиБ памяти, 0 графических процессоров Выберите Далее: сеть.
На вкладке Сеть введите указанные ниже значения для каждого параметра.
Параметр Значение Тип сети Общедоступный Метка DNS-имени Укажите уникальное имя. Оно будет использоваться как часть URL-адреса контейнера. Повторное использование области меток DNS-имени Примите значение по умолчанию Порты Порты 80 Протокол портов TCP Нажмите кнопку Далее: Дополнительно.
На вкладке Дополнительно введите указанные ниже значения для каждого параметра.
Параметр Значение Политика перезапуска Всегда Переменные среды оставьте все параметры пустыми Переопределение команды Не указывайте Выберите Review + create (Просмотреть и создать). Дождитесь завершения проверки и при необходимости исправьте все ошибки.
Нажмите кнопку создания.
После создания экземпляра контейнера щелкните Перейти к ресурсу. Откроется панель экземпляра контейнера.
На панели Обзор найдите полное доменное имя (FQDN) экземпляра контейнера.
Используя веб-браузер, перейдите по URL-адресу
http://FQDN/api/reservations/1
, заменив FQDN полным доменным именем экземпляра контейнера. Например, использование видимого FQDN на снимке экрана выше может выглядеть следующим образом:http://hotel.southcentralus.azurecontainer.io/api/reservations/1
В ответ веб-приложение должно предоставить объект JSON, содержащий подробные сведения о бронировании 1.
Поздравляем! Вы отправили образ Docker в реестр контейнеров Azure и запустили его с помощью службы экземпляров контейнеров Azure.