Развертывание приложений контейнеров Azure с помощью команды az containerapp up

Команда az containerapp up (или up) — это самый быстрый способ развертывания приложения в приложениях контейнеров Azure из существующего образа, локального исходного кода или репозитория GitHub. С помощью этой одной команды вы можете запустить приложение-контейнер в минутах.

Команда az containerapp up — это упрощенный способ создания и развертывания приложений контейнеров, которые в основном используют параметры по умолчанию. Однако для настройки более сложных параметров необходимо выполнить другие команды CLI:

Чтобы настроить ресурс или параметры масштабирования приложения контейнера, можно использовать up команду, а затем az containerapp update команду для изменения этих параметров. Команда az containerapp up не является аббревиацией az containerapp update команды.

Команда up может создавать или использовать существующие ресурсы, включая:

  • Группа ресурсов
  • Реестр контейнеров Azure
  • Среда контейнеров и рабочая область Log Analytics
  • Приложение контейнера

Команда может создавать и отправлять образ контейнера в Реестр контейнеров Azure (ACR) при предоставлении локального исходного кода или репозитория GitHub. При работе с репозиторием GitHub создается рабочий процесс GitHub Actions, который автоматически создает и отправляет новый образ контейнера при фиксации изменений в репозитории GitHub.

Если необходимо настроить среду "Приложения контейнеров", сначала создайте среду с помощью az containerapp env create команды. Если вы не предоставляете существующую среду, up команда ищет ее в группе ресурсов и при обнаружении использует эту среду. Если он не найден, он создает среду с рабочей областью Log Analytics.

Дополнительные сведения о команде az containerapp up и ее параметрах см. в статье az containerapp up.

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

Требование Instructions
Учетная запись Azure Если у вас нет учетной записи, создайте бесплатную учетную запись. Чтобы продолжить, вам потребуется разрешение участника или владельца подписки Azure. Дополнительные сведения см. в статье "Назначение ролей Azure" с помощью портал Azure.
Учетная запись GitHub Если вы используете репозиторий GitHub, зарегистрируйтесь бесплатно.
Azure CLI Установите интерфейс командной строки Azure.
Локальный исходный код Если используется локальный исходный код, необходимо иметь локальный каталог исходного кода.
Существующий образ Если вы используете существующий образ, вам потребуется сервер реестра, имя образа и тег. Если вы используете частный реестр, вам потребуются учетные данные.

Настройка

  1. Войдите в Azure с помощью Azure CLI.

    az login
    
  2. Затем установите расширение Контейнеров приложений Azure для CLI.

    az extension add --name containerapp --upgrade
    
  3. Теперь, когда установлено текущее расширение или модуль, зарегистрируйте Microsoft.App пространство имен.

    az provider register --namespace Microsoft.App
    
  4. Microsoft.OperationalInsights Зарегистрируйте поставщика для рабочей области Azure Monitor Log Analytics.

    az provider register --namespace Microsoft.OperationalInsights
    

Развертывание из существующего образа

Вы можете развернуть приложение-контейнер, использующее существующий образ в общедоступном или частном реестре контейнеров. При развертывании из частного реестра необходимо указать учетные данные с помощью --registry-server--registry-usernameпараметров и --registry-password параметров.

В этом примере az containerapp up команда выполняет следующие действия:

  1. Создает группу ресурсов.
  2. Создает среду и рабочую область Log Analytics.
  3. Создает и развертывает приложение-контейнер, которое извлекает образ из общедоступного реестра.
  4. Задает входящего трафика приложения-контейнера внешний с целевым портом, заданным для указанного значения.

Выполните следующую команду, чтобы развернуть приложение-контейнер из существующего образа. Замените <заполнители вашими значениями> .

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Вы можете использовать up команду для повторного развертывания приложения контейнера. Если вы хотите повторно развернуть новый образ, используйте --image этот параметр, чтобы указать новый образ. Убедитесь, что для и параметров заданы те же значения, что --resource-group и environment исходное развертывание.

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --environment <ENVIRONMENT_NAME> \
  --ingress external \
  --target-port <PORT_NUMBER> 

Развертывание из локального исходного кода

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

Команда может создать образ с dockerfile или без нее. Если сборка без Файла Dockerfile поддерживается на следующих языках:

  • .NET
  • Node.js
  • PHP
  • Python

В следующем примере показано, как развернуть приложение-контейнер из локального исходного кода.

В примере az containerapp up команда выполняет следующие действия:

  1. Создает группу ресурсов.
  2. Создает среду и рабочую область Log Analytics.
  3. Создает реестр в Реестр контейнеров Azure.
  4. Создает образ контейнера (с помощью Файла Dockerfile, если он существует).
  5. Отправляет образ в реестр.
  6. Создает и развертывает приложение-контейнер.

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

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY>\
      --ingress external 

Если Dockerfile включает инструкцию EXPOSE, up команда настраивает входящий трафик приложения контейнера и целевой порт с помощью сведений в Dockerfile.

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

Выходные данные команды включают URL-адрес для приложения контейнера.

Если произошел сбой, можно снова запустить команду с параметром --debug , чтобы получить дополнительные сведения о сбое. Если сборка завершается сбоем без Dockerfile, попробуйте добавить Dockerfile и снова выполнить команду.

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

  1. Внесите изменения в исходный код.

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

    az containerapp up \
      --name <CONTAINER_APP_NAME> \
      --source <SOURCE_DIRECTORY> \
      --resource-group <RESOURCE_GROUP_NAME> \
      --environment <ENVIRONMENT_NAME>
    

Развертывание из репозитория GitHub

При использовании az containerapp up команды для развертывания из репозитория GitHub создается рабочий процесс GitHub Actions, который создает образ контейнера, отправляет его в реестр и развертывает приложение контейнера. Команда создает реестр в Реестр контейнеров Azure, если он не указан.

Для создания образа требуется Dockerfile. Если Dockerfile включает инструкцию EXPOSE, команда настраивает входящий трафик приложения контейнера и целевой порт с помощью сведений в Dockerfile.

В следующем примере показано, как развернуть приложение-контейнер из репозитория GitHub.

В примере az containerapp up команда выполняет следующие действия:

  1. Создает группу ресурсов.
  2. Создает среду и рабочую область Log Analytics.
  3. Создает реестр в Реестр контейнеров Azure.
  4. Создает образ контейнера с помощью Dockerfile.
  5. Отправляет образ в реестр.
  6. Создает и развертывает приложение-контейнер.
  7. Создает рабочий процесс GitHub Actions для создания образа контейнера и развертывания приложения-контейнера при отправке будущих изменений в репозиторий GitHub.

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

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --repo <GitHub repository URL> \
  --ingress external 

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

up Так как команда создает рабочий процесс GitHub Actions, повторно выполните его для развертывания изменений в образе приложения, что не может повлиять на создание нескольких рабочих процессов. Вместо этого отправьте изменения в репозиторий GitHub, а рабочий процесс GitHub автоматически создает и развертывает приложение. Чтобы изменить рабочий процесс, измените файл рабочего процесса в GitHub.

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