Создание приложения 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.
Пример скрипта
Создание или изменение группы ресурсов
az group create --name myResourceGroup --location westus
Создание реестра в Реестре контейнеров Azure
az acr create --name <registry_name> --resource-group myResourceGroup --location westus --sku basic --admin-enabled true --query loginServer --output tsv
Отображение учетных данных ACR
az acr credential show --name <registry_name> --resource-group myResourceGroup --query [username,passwords[?name=='password'].value] --output tsv
Прежде чем продолжить, сохраните учетные данные ACR и URL-адрес реестра. Эти сведения потребуются в приведенных ниже командах.
Извлечение из Docker
docker login <acr_registry_name>.azurecr.io -u <registry_user> docker pull <registry_user/container_name:version>
Указание тега для образа Docker
docker tag <registry_user/container_name:version> <acr_registry_name>.azurecr.io/<container_name:version>
Передача образа контейнера в Реестр контейнеров Azure
docker push <acr_registry_name>.azurecr.io/<container_name:version>
Создание плана службы приложений
az appservice plan create --name AppServiceLinuxDockerPlan --resource-group myResourceGroup --location westus --is-linux --sku S1
Создание веб-приложения.
az webapp create --name <app_name> --plan AppServiceLinuxDockerPlan --resource-group myResourceGroup --deployment-container-image-name <acr_registry_name>.azurecr.io/<container_name:version>
Настройте существующее веб-приложение с пользовательским контейнером 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.