Упражнение. Запуск службы "Экземпляры контейнеров Azure"
Создайте контейнер в Azure и предоставляете его в Интернет с полным доменным именем (FQDN).
Внимание
Для выполнения этого упражнения вам нужна собственная подписка Azure. При этом с вас может взиматься плата. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начинать работу.
Для чего нужна служба "Экземпляры контейнеров Azure"?
Служба "Экземпляры контейнеров Azure" полезна для любых сценариев, поддерживающих выполнение в изолированных контейнерах. Сюда относятся простые приложения, автоматизация задач и задания сборки. Вот некоторые преимущества этой службы:
- Быстрый запуск. На запуск контейнера нужно всего несколько секунд.
- Посекундное выставление счетов. Плата взимается только за время работы контейнера.
- Безопасность на уровне гипервизора. Приложение изолируется так же хорошо, как и в виртуальной машине.
- Настраиваемые параметры. Можно указать точные значения для количества ядер ЦП и объема памяти.
- Постоянное хранилище. Вставляйте общие ресурсы Azure напрямую в контейнер, чтобы получать и сохранять состояние.
- Linux и Windows. Создавайте расписания для контейнеров Windows и Linux, используя один и тот же API.
Для сценариев, требующих полной оркестрации контейнеров, включая поиск служб в нескольких контейнерах, автоматическое масштабирование и координированное обновление приложений, рекомендуем применить службу Azure Kubernetes (AKS).
Создание контейнера
Войдите на портал Azure, используя свою подписку Azure.
Откройте Azure Cloud Shell на портале Azure, нажав значок Cloud Shell. Выберите Bash в качестве интерактивной среды Cloud Shell.
Создайте новую группу ресурсов с именем learn-deploy-aci-rg , чтобы упростить очистку этих ресурсов после завершения работы с модулем. Если вы укажете другое имя группы ресурсов, запомните его для использования в других упражнениях модуля. Также необходимо выбрать регион, в котором нужно создать группу ресурсов; Например, восточная часть США.
az group create --name learn-deploy-aci-rg --location eastus
Создайте контейнер, указав имя, образ Docker и группу ресурсов Azure для
az container create
команды. При необходимости вы можете предоставить доступ к контейнеру из Интернета, указав метку DNS-имени. В этом примере разверните контейнер, на котором размещено небольшое веб-приложение. Вы также можете выбрать расположение для размещения изображения; мы используем регион "Восточная часть США ", но вы можете изменить его на расположение рядом с вами.Укажите DNS-имя для предоставления контейнера интернету. DNS-имя должно быть уникальным. Для обучения выполните следующую команду из Cloud Shell, чтобы создать переменную Bash, содержащую уникальное имя:
DNS_NAME_LABEL=aci-demo-$RANDOM
Выполните следующую
az container create
команду, чтобы запустить экземпляр контейнера:az container create \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --image mcr.microsoft.com/azuredocs/aci-helloworld \ --ports 80 \ --dns-name-label $DNS_NAME_LABEL \ --location eastus
$DNS_NAME_LABEL
определяет DNS-имя. Имя образа azuredocs/aci-helloworld указывает на образ контейнера, размещенный в Microsoft Container Registry и предназначенный для запуска простого веб-приложения Node.js.az container create
Когда команда завершится, выполните командуaz container show
, чтобы проверить его состояние:az container show \ --resource-group learn-deploy-aci-rg \ --name mycontainer \ --query "{FQDN:ipAddress.fqdn,ProvisioningState:provisioningState}" \ --output table
Вы получаете полное доменное имя контейнера (FQDN) и его состояние подготовки. Приведем пример:
FQDN ProvisioningState -------------------------------------- ------------------- aci-demo-0000.eastus.azurecontainer.io Succeeded
Если контейнер находится в состоянии создания, подождите несколько минут и снова запустите команду, пока не увидите состояние "Успешно".
В браузере перейдите к FQDN контейнера, чтобы увидеть его в работе. Убедитесь, что вы вводите префикс http:// перед строкой aci-demo... Вы должны получить эту страницу приветствия:
Итоги
Итак, мы создали экземпляр контейнера Azure, в котором работают веб-сервер и приложение. Мы также смогли подключиться к приложению, используя полное доменное имя экземпляра контейнера.