Поделиться через


Учебник: Развёртывание контейнерного приложения в службе "Экземпляры контейнеров Azure"

Это последняя из трех частей руководства. С помощью предыдущих частей мы создали образ контейнера, который затем передали в реестр контейнеров Azure. Эта статья завершает серию, развертывая контейнер в Azure Container Instances.

Изучив это руководство, вы:

  • развернете контейнер в службе "Экземпляры контейнеров Azure" из реестра контейнеров Azure;
  • просмотрите выполняющееся приложение в браузере;
  • отобразите журналы контейнера.

Перед тем как начать

Для работы с этим руководством вам потребуются следующие ресурсы:

На вашем локальном компьютере должна быть установлена версия интерфейса командной строки Azure CLI 2.0.29 или более поздняя. Чтобы узнать версию, выполните команду az --version. Если вам необходимо выполнить установку или обновление, обратитесь к статье Установка Azure CLI.

Docker. Для выполнения действий, описанных в этом руководстве, требуется базовое понимание таких основных понятий Docker, как контейнеры и образы контейнеров, а также знание основных команд docker. Ознакомьтесь с общими сведениями о Docker и контейнерах.

Docker. Чтобы завершить работу с этим руководством, необходимо установить Docker локально. Docker предоставляет пакеты, которые настраивают среду Docker в ОС macOS, Windows и Linux.

Это важно

Так как Azure Cloud Shell не включает управляющую программу Docker, для работы с этим руководством необходимо установить среду разработки Azure CLI и модуль Docker на свой локальный компьютер. В этом руководстве Azure Cloud Shell не используется.

Развертывание контейнера с помощью Azure CLI

В этом разделе с помощью Azure CLI вы развернете образ, созданный в первом руководстве и переданный в реестр контейнеров Azure во втором руководстве. Прежде чем продолжить, убедитесь, что вы завершили эти инструкции.

Получение учетных данных реестра

При развертывании образа, который размещен в частном реестре контейнеров Azure, например созданного во втором учебнике, нужно предоставить учетные данные для доступа к реестру.

Рекомендуется создать и настроить учетную запись службы Microsoft Entra с разрешениями на извлечение в реестр. Примеры скриптов для создания субъекта-службы с необходимыми разрешениями см. в статье Authenticate with Azure Container Registry from Azure Container Instances (Проверка подлинности с помощью Реестра контейнеров Azure из службы "Экземпляры контейнеров Azure"). Запомните идентификатор служебного принципала и пароль служебного принципала. Эти учетные данные пригодятся для доступа к реестру во время развертывания контейнера.

Кроме того, вам потребуется полное имя сервера входа в реестр контейнеров (замените <acrName> его именем):

az acr show --name <acrName> --query loginServer

Развертывание контейнера

Теперь разверните контейнер с помощью команды az container create. Замените <acrLoginServer> значениями, полученными посредством предыдущих команд. Замените <service-principal-ID> и <service-principal-password> на идентификатор и пароль учётной записи службы, которую вы создали для доступа к реестру. Замените <aciDnsLabel> необходимым DNS-именем.

az container create --resource-group myResourceGroup --name aci-tutorial-app --image <acrLoginServer>/aci-tutorial-app:v1 --cpu 1 --memory 1 --registry-login-server <acrLoginServer> --registry-username <service-principal-ID> --registry-password <service-principal-password> --ip-address Public --dns-name-label <aciDnsLabel> --ports 80

В течение нескольких секунд вы должны получить исходный ответ Azure. Значение --dns-name-label должно быть уникальным в пределах региона Azure, в котором создается экземпляр контейнера. Если при выполнении команды появится сообщение об ошибке Метка DNS-имени, измените значение в предыдущей команде.

Проверка хода выполнения развертывания

Чтобы просмотреть состояние развертывания, используйте команду az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query instanceView.state

Повторяйте выполнение команды az container show, пока состояние не изменится с Ожидание на Выполняется, что должно занять не больше минуты. Если контейнер Запущен, перейдите к следующему шагу.

Просмотр журналов приложения и контейнера

После успешного развертывания отобразите полное доменное имя контейнера (FQDN) с помощью команды az container show:

az container show --resource-group myResourceGroup --name aci-tutorial-app --query ipAddress.fqdn

Рассмотрим пример.

"aci-demo.eastus.azurecontainer.io"

Чтобы увидеть запущенное приложение, перейдите по отображаемому DNS-имени в вашем любимом браузере.

Приложение Hello World в браузере

Также можно просмотреть выходные данные журнала контейнера:

az container logs --resource-group myResourceGroup --name aci-tutorial-app

Пример выходных данных:

listening on port 80
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET / HTTP/1.1" 200 1663 "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"
::ffff:10.240.0.4 - - [21/Jul/2017:06:00:02 +0000] "GET /favicon.ico HTTP/1.1" 404 150 "http://aci-demo.eastus.azurecontainer.io/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36"

Очистка ресурсов

Если ресурсы, созданные в этом руководстве, больше не требуются, можно выполнить команду az group delete, чтобы удалить группу ресурсов и все ресурсы, которые она содержит. Эта команда удаляет созданный реестр контейнеров, запущенный контейнер и все связанные ресурсы.

az group delete --name myResourceGroup

Дальнейшие действия

В этом учебном пособии вы завершили процесс развертывания контейнера в службе "Экземпляры контейнеров Azure". Были выполнены следующие действия:

  • развертывание контейнера из реестра контейнеров Azure с помощью Azure CLI;
  • Просмотр приложения в браузере
  • Просмотр журналов контейнера

Теперь, когда у вас есть базовые знания, узнайте больше о Azure Container Instances, например, как работают группы контейнеров.

Группы контейнеров в службе "Экземпляры контейнеров Azure"