Краткое руководство. Создание и развертывание из локального исходного кода в приложениях контейнеров Azure

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

Примечание.

Этот пример приложения доступен в двух версиях. Одна версия, в которой источник содержит Dockerfile. Другая версия не имеет Dockerfile. Выберите версию, которая лучше всего отражает исходный код. Если вы не знакомы с контейнерами, выберите параметр No Dockerfile в верхней части.

На следующем снимке экрана показаны выходные данные развернутой службы API альбомов.

Снимок экрана: ответ конечной точки API альбомов.

Необходимые компоненты

Чтобы завершить этот проект, вам потребуется следующее:

Требование Instructions
Учетная запись Azure Если у вас нет учетной записи, создайте бесплатную учетную запись. Чтобы продолжить, вам потребуется разрешение участника или владельца подписки Azure.

Дополнительные сведения см. в статье "Назначение ролей Azure" с помощью портал Azure.
Azure CLI Установите интерфейс командной строки Azure.

Настройка

Чтобы войти в Azure из ИНТЕРФЕЙСА командной строки, выполните следующую команду и следуйте инструкциям, чтобы завершить процесс проверки подлинности.

az login

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

az upgrade

Затем установите или обновите расширение "Приложения контейнеров Azure" для интерфейса командной строки.

az extension add --name containerapp --upgrade

Теперь, когда установлено текущее расширение или модуль, зарегистрируйте Microsoft.App пространства имен и Microsoft.OperationalInsights пространств имен.

Примечание.

Ресурсы Контейнеров приложений Azure перенесены из пространства имен Microsoft.Web в пространство имен Microsoft.App. Дополнительные сведения см. в статье о миграции пространства имен из Microsoft.Web в Microsoft.App в марте 2022 г..

az provider register --namespace Microsoft.App
az provider register --namespace Microsoft.OperationalInsights

Создание переменной среды

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

Определите следующие переменные в оболочке Bash.

export RESOURCE_GROUP="album-containerapps"
export LOCATION="canadacentral"
export ENVIRONMENT="env-album-containerapps"
export API_NAME="album-api"

Получение кода примера

Скачайте и извлеките пример приложения API на выбранном языке.

Скачайте исходный код на компьютер.

Извлеките скачивание и изменение в папку containerapps-albumapi-csharp-main/src .

Скачайте исходный код на компьютер.

Извлеките скачивание и изменение в папку containerapps-albumapi-csharp-buildpack/src .


Создание и развертывание приложения-контейнера

Создайте и разверните первое containerapp up приложение контейнера с помощью команды. Эта команда:

  • Создание группы ресурсов
  • Создание реестра в Реестре контейнеров Azure
  • Создание образа контейнера и отправка его в реестр
  • Создание среды "Приложения-контейнеры" с помощью рабочей области Log Analytics
  • Создание и развертывание приложения-контейнера с помощью встроенного образа контейнера
  • Создание группы ресурсов
  • Создание реестра по умолчанию в рамках среды
  • Обнаружение языка и среды выполнения приложения и создание образа с помощью соответствующего пакета buildpack
  • Отправка образа в реестр приложений контейнеров Azure по умолчанию
  • Создание среды "Приложения-контейнеры" с помощью рабочей области Log Analytics
  • Создание и развертывание приложения-контейнера с помощью встроенного образа контейнера

Команда up использует Dockerfile в корне репозитория для создания образа контейнера. Инструкция EXPOSE в Dockerfile определила целевой порт, который используется для отправки трафика входящего трафика в контейнер.

up Если команда не находит Dockerfile, она автоматически использует buildpacks для преобразования источника приложения в запущенный контейнер. Так как buildpack пытается запустить сборку от вашего имени, необходимо сообщить команде up , в какой порт отправить трафик входящего трафика.

В следующем примере . кода (точка) сообщает containerapp up выполниться в src каталоге извлеченного примера приложения API.

az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --source .
az containerapp up \
  --name $API_NAME \
  --location $LOCATION \
  --environment $ENVIRONMENT \
  --ingress external \
  --target-port 8080 \
  --source .

Внимание

Чтобы развернуть приложение-контейнер в существующей группе ресурсов, включите --resource-group yourResourceGroup в containerapp up команду.

Проверка развертывания

Скопируйте полное доменное имя в веб-браузер. В веб-браузере перейдите к конечной точке /albums полного доменного имени.

Снимок экрана: ответ конечной точки API альбомов.

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

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

Внимание

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

az group delete --name $RESOURCE_GROUP

Совет

Возникли проблемы? Сообщите о них в репозитории Azure Container Apps на GitHub.

Следующие шаги

Завершив работу с этим кратким руководством, вы можете продолжить работу с руководством по обмену данными между микрослужбами в приложениях контейнеров Azure, чтобы узнать, как развернуть интерфейсное приложение, которое вызывает API.