Учебник. Развертывание приложения Docker в Azure

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

В этом руководстве описано следующее:

  • Создание облачного контекста.
  • Запуск контейнеров в облаке.

Предварительные требования

Этот учебник является продолжением предыдущего — Создание приложения Docker и предоставление к нему общего доступа с помощью Visual Studio Code. Начните с первого учебника, поскольку в нем приводятся предварительные требования. Затем выполните инструкции из учебника Сохранение данных в приложении-контейнере с помощью томов в VS Code.

Для выполнения действий в настоящем учебнике вам также понадобятся:

  • Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно.
  • Расширение учетной записи Azure для VS Code. Чтобы его установить, щелкните значок расширений в левой части окна VS Code и выполните поиск по условию учетная запись Azure.

Создание облачного контекста

Для развертывания приложения в облако используются контексты Docker. Контекст — это место, где вы сейчас работаете с контейнерами. Сейчас у вас есть только контекст по умолчанию.

Необходимо создать контекст Экземпляров контейнеров Azure (ACI). Выполните приведенные ниже действия по созданию контекста.

  1. В VS Code проверьте, какие контексты у вас есть: просмотрите раздел КОНТЕКСТЫ в представлении Docker.

    Screenshot shows the Context area of the Docker extension with only the default context.

    Вы увидите только контекст по умолчанию для локальной работы.

  2. Выберите элемент Вид>Палитра команд. Введите Контексты Docker: создание контекста для Экземпляра контейнера Azure.

    Если вы не вошли в Azure, VS Code выведет запрос за вход.

  3. Введите имя контекста.

    Screenshot shows entry of a name for the new context.

  4. Введите группу ресурсов, которая будет использоваться. Можно не указывать существующую группу ресурсов, а создать новую.

    Screenshot shows the option to select or create a resource group.

    Теперь контекст ACI отображается в разделе "КОНТЕКСТЫ". Выберите его в качестве текущего используемого контекста.

    Screenshot shows the Docker extension contexts with the new context added.

Запуск контейнеров в облаке

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

  1. Выполните следующие команды.

    docker context use newacicontext
    docker run  -dp 3000:3000 <username>/getting-started
    
  2. В представлении Docker в разделе КОНТЕЙНЕРЫ убедитесь, что контейнер запущен.

    Screenshot shows a container in the Docker extension.

  3. Чтобы проверить, правильно ли работает контейнер, щелкните его правой кнопкой мыши и выберите команду Открыть в браузере.

    Screenshot shows the sample app, again, this time launched from an Azure Container Instances container.

    Контейнер использует общедоступный IP-адрес и работает правильно.

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

    docker logs <container-name>
    

    Имя контейнера отображается в разделе КОНТЕЙНЕРЫ рядом со строкой getting-started.

  5. Вы можете использовать команду docker exec в контейнере так же, как и в локальном контейнере.

    docker exec -it container-name sh
    
  6. Чтобы очистить рабочее пространство и убедиться в том, что с вас не взимают плату за дальнейшее использование тестового контейнера, щелкните правой кнопкой мыши выполняющийся контейнер и выберите команду Удалить.

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

Чтобы продолжить работу с дополнительным учебником, оставьте все настройки, сделанные на данный момент.

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

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

Вы завершили изучение серии учебников. В этом учебнике вы успешно развернули рабочую нагрузку в облако.

Ниже приведены некоторые другие варианты работы с контейнерами.

  • Оркестрация контейнеров

    Такие средства, как Kubernetes, Swarm, Nomad и Служба Azure Kubernetes (AKS), призваны устранить проблемы, связанные с выполнением контейнеров в рабочей среде.

    Как правило, есть диспетчеры, которые получают ожидаемое состояние. Затем они просматривают компьютеры в кластере и делегируют задачи рабочим узлам. Диспетчеры могут отслеживать изменения (например, выход из контейнера), а затем стараться сделать так, чтобы фактическое состояние отражало ожидаемое.

  • Проекты Cloud Native Computing Foundation

    Cloud Native Computing Foundation (CNCF) — это независящая от поставщиков платформа для различных проектов с открытым кодом, включая Kubernetes, Prometheus, Envoy и Linkerd. Вы можете просматривать градуированные и инкубационные проекты и все ориентированные на облако интерактивные решения CNCF. Доступны проекты, которые помогут вам решить проблемы, связанные с мониторингом, ведением журналов, обеспечением безопасности, работой с реестрами образов и обменом сообщениями.

Дополнительные сведения об использовании расширения Docker для VS Code:

Вас может заинтересовать этот необязательный учебник, который основан на текущей серии руководств: