Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда az containerapp up (или up) — самый быстрый способ развернуть приложение в Azure Container Apps из существующего образа, локального исходного кода или репозитория GitHub. При использовании этой одной команды, вы можете запустить и начать работу приложения контейнера в считанные минуты.
Команда может создавать и отправлять образ контейнера в реестр контейнеров Azure при предоставлении локального исходного кода или репозитория GitHub. При работе с репозиторием GitHub команда создает рабочий процесс GitHub Actions, который автоматически создает и отправляет новый образ контейнера при фиксации изменений в репозиторий GitHub.
В этой статье показано, как использовать команду для развертывания приложения-контейнера из существующего образа, локального исходного кода и репозитория GitHub.
Необходимые компоненты
| Требование | Instructions |
|---|---|
| Учетная запись Azure. | Если у вас нет учетной записи, создайте бесплатную учетную запись. Подписка Azure должна иметь роль участника или владельца . Подробные сведения см. в статье "Назначение ролей Azure" с помощью портала Azure. |
| интерфейс командной строки Azure | Установите интерфейс командной строки Azure. |
| Учетная запись GitHub | Если вы хотите использовать образ в репозитории GitHub, зарегистрируйтесь для получения бесплатной учетной записи GitHub. |
| Локальный исходный код | Если вы хотите создать изображение из локального исходного кода, поместите код в локальный каталог. |
| Существующий образ | Если вы хотите использовать существующий образ, запишите сервер реестра, имя образа и тег. Если вы используете частный реестр, обратите внимание на свои учетные данные. |
Использование существующих ресурсов
Команда up может создавать ресурсы или использовать существующие, включая следующие:
- Группа ресурсов.
- Реестр контейнеров.
- Среда для приложений контейнеров и рабочая область Log Analytics.
- Приложение контейнера.
Если необходимо настроить среду "Приложения контейнеров", сначала используйте az containerapp env create команду для создания и настройки среды. После выполнения up команды используйте --environment параметр, чтобы указать настраиваемую среду.
Если вы не указываете существующую среду, команда up ищет её в вашей группе ресурсов. Если команда находит среду, она использует ее. Если команда не находит среду, она создает среду, включающую рабочую область Log Analytics.
Дополнительные сведения о команде az containerapp up и ее параметрах см. в разделе az containerapp up.
Настройка среды Azure CLI
Используйте Azure CLI для входа в Azure.
az loginУстановите расширение "Приложения-контейнеры" для Azure CLI.
az extension add --name containerapp --upgradeMicrosoft.AppЗарегистрируйте пространство имен.az provider register --namespace Microsoft.AppMicrosoft.OperationalInsightsЗарегистрируйте поставщика для рабочей области Log Analytics.az provider register --namespace Microsoft.OperationalInsights
Развертывание из существующего образа
Вы можете развернуть приложение-контейнер, использующее существующий образ в общедоступном или частном реестре контейнеров. При развертывании из частного реестра необходимо указать учетные данные с помощью параметров --registry-server, --registry-username и --registry-password.
Вы можете использовать следующий пример кода для развертывания контейнерного приложения из существующего образа. Перед выполнением команды замените заполнители, которые заключены в угловые скобки, с вашими значениями.
az containerapp up \
--name <CONTAINER_APP_NAME> \
--image <REGISTRY_SERVER>/<IMAGE_NAME>:<TAG> \
--ingress external \
--target-port <PORT_NUMBER>
Эта команда выполняет следующие действия:
- Создает группу ресурсов.
- Создает среду и рабочую область Log Analytics.
- Создает и развертывает приложение-контейнер, которое извлекает образ из общедоступного реестра.
- Задает значение
ingressприложения-контейнераexternalдля целевого порта, заданного указанным значением.
Вы также можете использовать 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 команды для развертывания из локального источника он создает образ контейнера, отправляет его в реестр и развертывает приложение контейнера. Если вы не укажете реестр, команда создает ее в реестре контейнеров.
Команда может создать образ с dockerfile или без нее. В сборках, которые не используют Dockerfile, поддерживаются следующие языки:
- .NET
- Node.js
- PHP
- Python
Для развертывания приложения-контейнера из локального исходного кода можно использовать следующий пример кода:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--source <SOURCE_DIRECTORY>\
--ingress external
Эта команда выполняет следующие действия:
- Создает группу ресурсов.
- Создает среду и рабочую область Log Analytics.
- Создает реестр в реестре контейнеров.
- Создает образ контейнера (с помощью файла Dockerfile, если он существует).
- Отправляет образ в реестр.
- Создает и развертывает приложение-контейнер.
Когда Dockerfile включает инструкцию EXPOSE, команда up настраивает вход и целевой порт приложения контейнера, используя сведения, указанные в Dockerfile. Если вы настроите входящий трафик через Dockerfile или приложение не требует входящего трафика, можно опустить --ingress этот параметр.
Выходные данные команды включают URL-адрес для приложения контейнера.
Если команда сообщает, что она ожидает агента Cloud Build, но затем перестает отвечать, то временная ошибка GitHub может быть источником проблемы. Чтобы устранить ситуацию, выполните команду еще раз.
Если произошел сбой, можно снова запустить команду с параметром --debug , чтобы получить дополнительные сведения. Если сборка завершается сбоем без Dockerfile, попробуйте добавить Dockerfile и снова выполнить команду.
Чтобы использовать az containerapp up команду для повторного развертывания приложения-контейнера с обновленным изображением, включите --resource-group и --environment параметры. Чтобы повторно развернуть приложение контейнера из локального исходного кода, выполните следующие действия.
Внесите изменения в исходный код.
Выполните следующую команду:
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, который создает образ контейнера, отправляет его в реестр и развертывает приложение контейнера. Если вы не укажете реестр, команда создает ее в реестре контейнеров.
Для создания образа требуется Dockerfile. Если файл Dockerfile содержит EXPOSE инструкцию, команда конфигурирует вход и целевой порт приложения контейнера, опираясь на сведения в Dockerfile.
Для развертывания приложения-контейнера из репозитория GitHub можно использовать следующий пример кода:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GITHUB_REPOSITORY_URL> \
--ingress external
Эта команда выполняет следующие действия:
- Создает группу ресурсов.
- Создает среду и рабочую область Log Analytics.
- Создает реестр в реестре контейнеров.
- Создает образ контейнера с помощью Dockerfile.
- Отправляет образ в реестр.
- Создает и развертывает приложение-контейнер.
- Создает рабочий процесс GitHub Actions для создания образа контейнера и развертывания приложения-контейнера при отправке будущих изменений в репозиторий GitHub.
Если команда завершается ошибкой из-за невозможности создания служебного принципала, можно вручную создать служебный принципал в Azure. Затем вы можете передать сведения об этом команде:
az containerapp up \
--name <CONTAINER_APP_NAME> \
--repo <GITHUB_REPOSITORY_URL> \
--service-principal-client-id "$SERVICE_PRINCIPAL_CLIENT_ID" \
--service-principal-client-secret "$SERVICE_PRINCIPAL_CLIENT_SECRET" \
--service-principal-tenant-id "$AZURE_TENANT_ID"
--ingress external
Если вы настроите входящий трафик через Dockerfile или приложение не требует входящего трафика, можно опустить --ingress этот параметр.
Команда up создает рабочий процесс GitHub Actions. В результате повторное выполнение команды оказывает нежелательное влияние на создание нескольких рабочих процессов. Если вы хотите развернуть изменения в образе приложения, отправьте изменения в репозиторий GitHub вместо повторного запуска команды. Рабочий процесс GitHub автоматически обнаруживает изменения в репозитории, а затем создает и развертывает приложение. Чтобы изменить рабочий процесс, измените файл рабочего процесса в GitHub.
Настройка параметров приложения контейнера
Эта az containerapp up команда предоставляет упрощенный способ создания и развертывания приложений контейнеров, которые в основном используют параметры по умолчанию. Однако после использования up команды необходимо выполнить другие команды Azure CLI, такие как следующие, если вы хотите настроить более сложные параметры:
- Распределенная среда выполнения приложений (Dapr):
az containerapp dapr enable - Секреты:
az containerapp secret set - Транспортные протоколы:
az containerapp ingress update
Если вы хотите настроить другие параметры для приложения-контейнера, например ресурсов или параметров масштабирования, сначала используйте up команду для развертывания приложения контейнера. Затем используйте az containerapp update команду для изменения этих параметров. Команда az containerapp up не является аббревиацией для az containerapp update команды.