Создание приложения ASP.NET Core в контейнере Docker в Службе приложений из Реестра контейнеров Azure

При помощи этого примера сценария создается группа ресурсов, план службы приложений Linux и приложение. Затем приложение ASP.NET Core развертывается с использованием контейнера Docker из реестра контейнеров Azure.

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

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

  • Используйте среду Bash в Azure Cloud Shell. Дополнительные сведения см . в кратком руководстве по Bash в Azure Cloud Shell.

  • Если вы предпочитаете выполнять справочные команды CLI локально, установите Azure CLI. Если вы работаете в Windows или macOS, Azure CLI можно запустить в контейнере Docker. Дополнительные сведения см. в статье Как запустить Azure CLI в контейнере Docker.

    • Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о других возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

    • Установите расширение Azure CLI при первом использовании, когда появится соответствующий запрос. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

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

Пример скрипта

  1. Создание или изменение группы ресурсов

    az group create --name myResourceGroup --location westus
    
  2. Создание реестра в Реестре контейнеров Azure

    az acr create --name <registry_name> --resource-group myResourceGroup --location westus --sku basic --admin-enabled true --query loginServer --output tsv
    
  3. Отображение учетных данных ACR

    az acr credential show --name <registry_name> --resource-group myResourceGroup --query [username,passwords[?name=='password'].value] --output tsv
    
  4. Прежде чем продолжить, сохраните учетные данные ACR и URL-адрес реестра. Эти сведения потребуются в приведенных ниже командах.

  5. Извлечение из Docker

    docker login <acr_registry_name>.azurecr.io -u <registry_user>
    docker pull <registry_user/container_name:version>
    
  6. Указание тега для образа Docker

    docker tag <registry_user/container_name:version> <acr_registry_name>.azurecr.io/<container_name:version>
    
  7. Передача образа контейнера в Реестр контейнеров Azure

    docker push <acr_registry_name>.azurecr.io/<container_name:version>
    
  8. Создание плана службы приложений

    az appservice plan create --name AppServiceLinuxDockerPlan --resource-group myResourceGroup --location westus --is-linux --sku S1
    
  9. Создание веб-приложения.

    az webapp create --name <app_name> --plan AppServiceLinuxDockerPlan --resource-group myResourceGroup --deployment-container-image-name <acr_registry_name>.azurecr.io/<container_name:version>
    
  10. Настройте существующее веб-приложение с пользовательским контейнером Docker из Реестр контейнеров Azure.

    az webapp config container set --resource-group myResourceGroup --name <app_name> --docker-registry-server-url http://<acr_registry_name>.azurecr.io --docker-registry-server-user <registry_user> --docker-registry-server-password <registry_password>
    

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

Если вам больше не нужны определенные ресурсы, вы можете удалить их и соответствующую группу ресурсов с помощью команды az group delete. Как создание, так и удаление определенных ресурсов может занять некоторое время.

az group delete --name $resourceGroup

Примеры

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

Команда Примечания.
az group create Создает группу ресурсов, в которой хранятся все ресурсы.
az appservice plan create Создает план службы приложений.
az webapp create Создает приложение Службы приложений.
az webapp config container set Настраивает контейнер Docker для приложения Службы приложений.

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

Дополнительные сведения об Azure CLI см. в документации по Azure CLI.

Дополнительные примеры скриптов Azure CLI для службы приложений см. в документации по службе приложений Azure.