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

Завершено

Создайте контейнер в Azure и предоставляете его в Интернет с полным доменным именем (FQDN).

Важно!

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

Для чего нужна служба "Экземпляры контейнеров Azure"?

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

  • Быстрый запуск. На запуск контейнера нужно всего несколько секунд.
  • Посекундное выставление счетов. Плата взимается только за время работы контейнера.
  • Безопасность на уровне гипервизора. Приложение изолируется так же хорошо, как и в виртуальной машине.
  • Настраиваемые параметры. Можно указать точные значения для количества ядер ЦП и объема памяти.
  • Постоянное хранилище. Вставляйте общие ресурсы Azure напрямую в контейнер, чтобы получать и сохранять состояние.
  • Linux и Windows. Создавайте расписания для контейнеров Windows и Linux, используя один и тот же API.

Для сценариев, требующих полной оркестрации контейнеров, включая поиск служб в нескольких контейнерах, автоматическое масштабирование и координированное обновление приложений, рекомендуем применить службу Azure Kubernetes (AKS).

Создание контейнера

  1. Войдите на портал Azure, используя свою подписку Azure.

  2. Откройте Azure Cloud Shell на портале Azure, нажав значок Cloud Shell. Выберите Bash в качестве интерактивной среды Cloud Shell.

  3. Создайте новую группу ресурсов с именем learn-deploy-aci-rg , чтобы упростить очистку этих ресурсов после завершения работы с модулем. Если вы укажете другое имя группы ресурсов, запомните его для использования в других упражнениях модуля. Также необходимо выбрать регион, в котором нужно создать группу ресурсов; Например, восточная часть США.

    az group create --name learn-deploy-aci-rg --location eastus
    

    Создайте контейнер, указав имя, образ Docker и группу ресурсов Azure для az container create команды. При необходимости вы можете предоставить доступ к контейнеру из Интернета, указав метку DNS-имени. В этом примере разверните контейнер, на котором размещено небольшое веб-приложение. Вы также можете выбрать расположение для размещения изображения; мы используем регион "Восточная часть США ", но вы можете изменить его на расположение рядом с вами.

  4. Укажите DNS-имя для предоставления контейнера интернету. DNS-имя должно быть уникальным. Для обучения выполните следующую команду из Cloud Shell, чтобы создать переменную Bash, содержащую уникальное имя:

    DNS_NAME_LABEL=aci-demo-$RANDOM
    
  5. Выполните следующую 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.

  6. 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
    

    Если контейнер находится в состоянии создания, подождите несколько минут и снова запустите команду, пока не увидите состояние "Успешно".

  7. В браузере перейдите к FQDN контейнера, чтобы увидеть его в работе. Убедитесь, что вы вводите префикс http:// перед строкой aci-demo... Вы должны получить эту страницу приветствия:

    Screenshot of the sample Node.js container app running in a browser.

Итоги

Итак, мы создали экземпляр контейнера Azure, в котором работают веб-сервер и приложение. Мы также смогли подключиться к приложению, используя полное доменное имя экземпляра контейнера.