Поделиться через


Краткое руководство: запуск пользовательского контейнера в Azure

Из этого краткого руководства вы узнаете, как развернуть приложение ASP.NET в образе Windows в реестре контейнеров Azure из Visual Studio. Приложение можно запустить в пользовательском контейнере в Службе приложений Azure.

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

Контейнеры Windows для пользовательских приложений не имеют этих ограничений. Разработчики могут использовать пользовательские контейнеры, чтобы предоставить контейнерным приложениям полный доступ к функциям Windows.

Предварительные условия

Если вы уже установили Visual Studio 2022:

  • Установите последние обновления для Visual Studio, выбрав Справка>Проверить обновления.
  • Добавьте рабочие процессы в Visual Studio, выбрав Инструменты>Установить средства и компоненты.

Создание веб-приложения ASP.NET

  1. Откройте Visual Studio и выберите Создать проект.

  2. В разделе "Создание проекта" выберите ASP.NET веб-приложение (.NET Framework)C#и нажмите кнопку "Далее".

    Снимок экрана: диалоговое окно

  3. В разделе "Настройка имени проекта нового проекта>" присвойте приложениюmyfirstazurewebapp имя. В разделе "Платформа" выберите .NET Framework 4.8 и нажмите кнопку "Создать".

    Снимок экрана: настройка проекта веб-приложения.

  4. Вы можете развернуть любой тип веб-приложения ASP.NET в Azure. В этом кратком руководстве выберите шаблон MVC.

  5. В разделе Аутентификация выберите Нет. В разделе "Дополнительно" выберите службу поддержки контейнеров и снимите флажок "Настроить для HTTPS". Нажмите кнопку создания.

    Снимок экрана: диалоговое окно создания веб-приложения ASP.NET.

  6. Если Файл Dockerfile не открывается автоматически, откройте его, выбрав обозреватель решений.

  7. Вам потребуется поддерживаемый родительский образ. Измените родительский образ, заменив FROM строку следующим кодом, а затем сохраните файл:

    FROM mcr.microsoft.com/dotnet/framework/aspnet:4.8-windowsservercore-ltsc2019
    
  8. В меню Visual Studio выберите Отладка>Запустить без отладки, чтобы запустить приложение локально.

    Снимок экрана: приложение, работающее локально.

Публикация в Реестре контейнеров Azure

  1. В обозревателе решений щелкните проект правой myfirstazurewebapp кнопкой мыши и выберите "Опубликовать".

  2. На вкладке Целевой объект выберите Реестр контейнеров Docker и щелкните Далее.

    Снимок экрана: экран

  3. На вкладке Определенный целевой объект выберите Реестр контейнеров Azure и щелкните Далее.

    Снимок экрана: область

  4. В разделе "Публикация" выберите правильную подписку. Чтобы создать новый реестр контейнеров, выберите "Создать" в реестрах контейнеров.

    Снимок экрана: экран

  5. В разделе "Создать" выберите правильную подписку. В группе ресурсов выберите "Создать " и введите myResourceGroup имя. Затем нажмите OK. В разделе Номер SKU выберите Базовый. В разделе "Расположение реестра" выберите расположение реестра и нажмите кнопку "Создать".

    Снимок экрана: сведения о реестре контейнеров Azure.

  6. В разделе "Публикация" в разделе "Реестр контейнеров" выберите созданный реестр и нажмите кнопку "Готово".

    Снимок экрана: экран выбора существующего реестра контейнеров Azure.

    Дождитесь завершения развертывания. В области публикации теперь отображается имя репозитория. Нажмите кнопку "Копировать ", чтобы скопировать имя репозитория для последующего копирования .

    Снимок экрана: выделено имя репозитория.

Создание пользовательского контейнера Windows

  1. Войдите на портал Azure.

  2. Выберите "Создать ресурс" в левом верхнем углу портала Azure.

  3. В разделе Популярные службы в подразделе Веб-приложение выберите Cоздать.

  4. В разделе "Создание веб-приложения" выберите подписку и группу ресурсов. При необходимости можно создать новую группу ресурсов.

  5. Укажите имя приложения, например win-container-demo. Для публикации выберите контейнер. Операционная система: выберите Windows.

    Снимок экрана: создание веб-приложения для контейнеров.

  6. Выберите Далее: База данных>Далее: Контейнер.

  7. Для источника изображения выберите Docker Hub. Для изображения и тега введите имя репозитория, которое вы ранее скопировали в Публикация в Azure Container Registry.

    Снимок экрана: настройка веб-приложения для контейнеров.

    Если у вас есть пользовательский образ для веб-приложения в другом расположении, например в Реестре контейнеров Azure или любом другом частном репозитории, его можно настроить здесь. Выберите Review + Create.

  8. Проверьте все сведения и нажмите кнопку "Создать".

    Снимок экрана: создание веб-приложения для контейнеров.

    Дождитесь создания необходимых ресурсов в Azure.

Перейдите к пользовательскому контейнеру

По завершении операции портал Azure отображает уведомление.

Снимок экрана: развертывание выполнено успешно.

  1. Выберите Перейти к ресурсу.

  2. В обзоре перейдите по ссылке рядом с доменом по умолчанию.

Откроется новая страница браузера.

Снимок экрана: запуск пользовательского контейнера Windows.

Подождите несколько минут и повторите попытку. Продолжайте пытаться, пока не получите домашнюю страницу по умолчанию ASP.NET.

Снимок экрана, на котором показан пользовательский контейнер Windows, запущенный.

Просмотр журналов запуска контейнера

Для загрузки контейнера Windows может потребоваться некоторое время. Чтобы просмотреть ход выполнения, перейдите по следующему URL-адресу, заменив \<app_name> с именем вашего приложения.

https://<app_name>.scm.azurewebsites.net/api/logstream

Журналы потоковой передачи выглядят следующим образом:

2018-07-27T12:03:11  Welcome, you are now connected to log-streaming service.
27/07/2018 12:04:10.978 INFO - Site: win-container-demo - Start container succeeded. Container: facbf6cb214de86e58557a6d073396f640bbe2fdec88f8368695c8d1331fc94b
27/07/2018 12:04:16.767 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.017 INFO - Site: win-container-demo - Container start complete
27/07/2018 12:05:05.020 INFO - Site: win-container-demo - Container started successfully

Обновление на локальном компьютере и повторное развертывание

  1. В Visual Studio перейдите в обозреватель решений. Выберите Views>Home>Index.cshtml.

  2. Найдите тег HTML <div class="jumbotron"> в верхней области и замените его следующим кодом:

    <div class="jumbotron">
        <h1>ASP.NET in Azure!</h1>
        <p class="lead">This is a simple app that we've built that demonstrates how to deploy a .NET app to Azure App Service.</p>
    </div>
    
  3. Чтобы повторно развернуть в Azure, щелкните правой кнопкой мыши проект myfirstazurewebapp в обозревателе решений и выберите "Опубликовать".

  4. На панели публикации выберите "Опубликовать " и дождитесь завершения публикации.

  5. Чтобы указать службе приложений извлечь новый образ из Docker Hub, перезапустите приложение. В области приложений на портале Azure нажмите кнопку "Перезапустить>да".

    Снимок экрана: обзор службы приложений с выделенной кнопкой

  6. Снова перейдите к пользовательскому контейнеру. При обновлении страницы приложение должно сначала вернуться на начальную страницу. Затем она должна отобразить обновленную страницу.

    Снимок экрана: обновленное веб-приложение в Azure.

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

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

  1. В меню портала Azure или домашней странице выберите группы ресурсов>myResourceGroup.

  2. На панели myResourceGroup убедитесь, что перечисленные ресурсы являются теми, которые требуется удалить.

  3. Выберите команду Удалить группу ресурсов. Введите myResourceGroup в текстовом поле, чтобы подтвердить, а затем нажмите кнопку "Удалить".

Из этого краткого руководства вы узнаете, как развернуть образ из реестра контейнеров Azure в Службе приложений Azure.

Служба приложений в Linux предоставляет стандартные стеки приложений в Linux с поддержкой таких языков, как .NET, Java, Node.jsи PHP. Вы также можете использовать пользовательский образ Docker для запуска веб-приложения в стеке приложений, который еще не определен в Azure.

Дополнительные сведения о контейнерных приложениях в бессерверной среде см. в разделе "Приложения контейнеров".

Предварительные условия

Создание реестра контейнеров

В этом кратком руководстве в качестве реестра используется Реестр контейнеров Azure. Вы можете использовать другие реестры, но шаги могут немного отличаться.

Создайте реестр контейнеров, выполнив инструкции из краткого руководства. Создание частного реестра контейнеров с помощью портала Azure.

Внимание

Не забудьте задать параметр "Пользователь администратора " для включения при создании реестра контейнеров. Вы также можете задать его из раздела "Ключи доступа" в области реестра на портале Azure. Этот параметр необходим для доступа к службе приложений. Сведения об управляемом удостоверении см. в статье "Развертывание из реестра контейнеров Azure".

Войдите в систему.

  1. Откройте VS Code.

  2. Выберите логотип Azure на панели действий, а затем перейдите к ACCOUNTS и TENANTS. Выберите вход в Azure и следуйте инструкциям.

    Снимок экрана: вход в Azure в VS Code.

  3. В строке состояния в нижней части убедитесь, что адрес электронной почты учетной записи Azure указан правильно. Подписка должна отображаться в проводнике СЛУЖБЫ ПРИЛОЖЕНИЙ.

  4. На панели действий выберите логотип Docker . Убедитесь, что в обозревателе РЕЕСТРОВ отображается созданный реестр контейнеров.

    Снимок экрана: значение реестра с развернутой службой Azure.

Проверка предварительных требований

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

docker --version

Создание и сборка образа

  1. В VS Code откройте пустую папку и добавьте файл с именем Dockerfile. В файле вставьте содержимое на основе требуемой языковой платформы:

    В этом файле родительский образ является одним из встроенных контейнеров .NET службы приложений.

    FROM mcr.microsoft.com/appsvc/dotnetcore:lts
    
    ENV PORT 8080
    EXPOSE 8080
    
    ENV ASPNETCORE_URLS "http://*:${PORT}"
    
    ENTRYPOINT ["dotnet", "/defaulthome/hostingstart/hostingstart.dll"]
    
  2. Откройте палитру команд, а затем введите Образ Docker: Сборка образа. Нажмите клавишу ВВОД , чтобы выполнить команду.

  3. В поле тега образа укажите нужный тег в следующем формате: <acr-name>.azurecr.io/<image-name>:<tag>, где <acr-name> — это имя созданного вами реестра контейнеров. Выберите Enter.

  4. После завершения сборки образа нажмите кнопку "Обновить " в верхней части обозревателя IMAGES и убедитесь, что изображение успешно создано.

    Снимок экрана: созданный образ с тегом.

Развертывание в реестре контейнеров

  1. На панели действий выберите значок Docker . В обозревателе образов найдите только что созданный образ.

  2. Разверните изображение, щелкните правой кнопкой мыши нужный тег и нажмите кнопку "Отправить".

  3. Убедитесь, что изображение начинается с <acr-name>.azurecr.io, и выберите ВВОД.

  4. Когда VS Code завершит отправку образа в реестр контейнеров, выберите "Обновить " в верхней части обозревателя REGISTRYIES и убедитесь, что образ успешно отправлен.

    Снимок экрана, показывающий образ, развернутый в реестре контейнеров Azure.

Развертывание в службу приложений

  1. В обозревателе REGISTRIES разверните изображение, щелкните правой кнопкой мыши тег и выберите "Развернуть образ" в службе приложений Azure.
  2. Следуйте инструкциям, чтобы выбрать подписку, глобально уникальное имя приложения, группу ресурсов и план службы приложений. Выберите B1 Basic для ценовой категории и регион рядом с вами.

После развертывания приложение будет доступно по адресу http://<app-name>.azurewebsites.net.

Группа ресурсов — это именованная коллекция всех ресурсов приложения в Azure. Например, группа ресурсов может содержать ссылку на веб-сайт, базу данных и функцию Azure.

План службы приложений определяет физические ресурсы, используемые для размещения веб-сайта. В этом кратком руководстве используется базовый план размещения на инфраструктуре Linux, что означает, что сайт размещается на сервере Linux вместе с другими веб-сайтами. Если начать с плана "Базовый", вы можете использовать портал Azure для увеличения масштаба, чтобы компьютер запускал только свой сайт. Для получения сведений о ценах смотрите страницу цен на Службу приложений.

Открытие веб-сайта в браузере

На панели вывода отображается состояние операций развертывания. По завершении операции выберите "Открыть сайт " во всплывающем уведомлении, чтобы открыть сайт в браузере.

Приложение App Service загружает из реестра контейнеров каждый раз при запуске. При перестроении образа необходимо просто отправить его в реестр контейнеров, и приложение при перезапуске получает обновленный образ. Чтобы проинструктировать приложение немедленно извлечь обновленный образ, перезапустите его.

Чтобы устранить неполадку, перейдите к разделу I ran into an issue.

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

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

  1. В меню портала Azure или домашней странице выберите группы ресурсов>myResourceGroup.

  2. На панели myResourceGroup убедитесь, что перечисленные ресурсы являются теми, которые требуется удалить.

  3. Выберите команду Удалить группу ресурсов. Введите myResourceGroup в текстовом поле, чтобы подтвердить, а затем нажмите кнопку "Удалить".

Другие расширения Azure:

Из этого краткого руководства вы узнаете, как развернуть образ из реестра контейнеров Azure в Службе приложений Azure.

служба приложение Azure в Linux предоставляет готовые стеки приложений в Linux с поддержкой таких языков, как .NET, Java, Node.js и PHP. Вы также можете использовать пользовательский образ Docker для запуска веб-приложения в стеке приложений, который еще не определен в Azure.

Дополнительные сведения о контейнерных приложениях в бессерверной среде см. в обзоре приложений контейнеров Azure.

Предварительные условия

Клонирование примера репозитория

Клонируйте пример приложения .NET 6.0 с помощью следующей команды:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Отправка образа в Реестр контейнеров Azure

Убедитесь, что вы находитесь в корневой папке клонированного репозитория, которая содержит Dockerfile.linux файл.

  1. Войдите в Azure CLI.

    az login
    
  2. Войти в Реестр контейнеров Azure.

    az acr login -n <your_registry_name>
    
  3. Создание образа контейнера. В этом примере используется имя образа dotnetcore-docs-hello-world-linux.

    docker build -f Dockerfile.linux -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux . 
    
  4. Отправьте образ контейнера в Реестр контейнеров Azure.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-linux:latest
    

    Примечание.

    Dockerfile выбирает порт 80 автоматически. Дополнительные сведения см. в описании настройки пользовательского контейнера.

Развернуть в Azure

  1. Войдите на портал Azure.

  2. В поле поиска введите службы приложений. В разделе Службы выберите Службы приложений.

    Снимок экрана: поиск служб приложений на портале Azure.

  3. На панели "Службы приложений " выберите "Создать>веб-приложение".

  4. На вкладке "Основные сведения" в разделе "Сведения о проекте" выберите правильную подписку. Чтобы создать новую группу ресурсов, нажмите кнопку "Создать". Введите myResourceGroup в качестве имени.

    Снимок экрана: раздел сведений о проекте, в котором выбрана подписка Azure и группа ресурсов для веб-приложения.

  5. В разделе Сведения об экземпляре:

    • Введите глобально уникальное имя веб-приложения.
    • Выберите Контейнер.
    • Для операционной системы выберите Linux.
    • В регионе выберите регион, из которого планируется обслуживать приложение.

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

  6. В разделе "План службы приложений" выберите "Создать". Введите myAppServicePlan для имени. Чтобы изменить уровень "Бесплатный", выберите "Изменить размер>dev/Test>F1>Apply".

    Снимок экрана: параметры плана.

  7. В верхней части области выберите вкладку "Контейнер ".

  8. На вкладке "Контейнер " для источника изображений выберите реестр контейнеров Azure. В разделе "Реестр контейнеров Azure" задайте следующие значения:

    • Реестр. Выберите реестр контейнеров.
    • Образ: выберите dotnetcore-docs-hello-world-linux.
    • Тег: выберите последняя версия.

    Снимок экрана: параметры реестра контейнеров Azure.

  9. Выберите Просмотр и создание в нижней части панели.

    Снимок экрана: кнопка в нижней части области.

  10. После выполнения проверки нажмите кнопку "Создать".

  11. После завершения развертывания выберите Перейти к ресурсу.

    Снимок экрана: кнопка для перехода к ресурсу.

Переход в приложение

Найдите развернутое приложение в веб-браузере по URL-адресу http://<app-name>.azurewebsites.net.

Снимок экрана: развернутое приложение.

Приложение App Service извлекает из реестра контейнеров каждый раз при запуске. Если вы перестроите образ, отправьте его в реестр контейнеров. Приложение извлекает обновленный образ при перезапуске. Чтобы проинструктировать приложение немедленно извлечь обновленный образ, перезапустите его.

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

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

  1. В меню портала Azure или домашней странице выберите группы ресурсов>myResourceGroup.

  2. На панели myResourceGroup убедитесь, что перечисленные ресурсы являются теми, которые требуется удалить.

  3. Выберите команду Удалить группу ресурсов. Введите myResourceGroup в текстовом поле, чтобы подтвердить, а затем нажмите кнопку "Удалить".

Из этого краткого руководства вы узнаете, как развернуть приложение ASP.NET в образе Windows из реестра контейнеров Azure в Службе приложений Azure.

Служба приложений Azure предоставляет стандартные стеки приложений в Windows, например ASP.NET или Node.js, которые выполняются в службах IIS. Эти предварительно настроенные стеки приложений блокируют операционную систему и предотвращают низкоуровневый доступ.

Контейнеры Windows для пользовательских приложений не имеют этих ограничений. Разработчики могут использовать пользовательские контейнеры, чтобы предоставить контейнерным приложениям полный доступ к функциям Windows.

Предварительные условия

Клонирование примера репозитория

Клонируйте пример приложения .NET 6.0 с помощью следующей команды:

git clone https://github.com/Azure-Samples/dotnetcore-docs-hello-world.git

Отправка образа в Реестр контейнеров Azure

Убедитесь, что вы находитесь в корневой папке клонированного репозитория. Этот репозиторий Dockerfile.windows содержит файл. В этой статье используется канал долгосрочной обслуживания Windows Nano Server 2022 в качестве базовой операционной системы и явно вызывает базу Windows.

Примечание.

Несмотря на то, что это контейнер Windows, пути всё равно должны использовать прямые слэши. Дополнительные сведения см. в разделе Написание Dockerfile.

  1. Войдите в Azure CLI.

    az login
    
  2. Войти в Реестр контейнеров Azure.

    az acr login -n <your_registry_name>
    
  3. Создание образа контейнера. В этом примере используется имя образа dotnetcore-docs-hello-world-windows.

    docker build -f Dockerfile.windows -t <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows . 
    
  4. Отправьте образ контейнера в Реестр контейнеров Azure.

    docker push <your_registry_name>.azurecr.io/dotnetcore-docs-hello-world-windows:latest
    

    Примечание.

    Dockerfile задает номер 80 порта внутренним образом. Дополнительные сведения см. в разделе "Настройка пользовательского контейнера".

Развернуть в Azure

  1. Войдите на портал Azure.

  2. Введите службы приложений в поле поиска. В разделе Службы выберите Службы приложений.

    Снимок экрана: поиск служб приложений на портале Azure.

  3. В службах приложений выберите "Создать>веб-приложение".

  4. На вкладке "Основные сведения" в разделе "Сведения о проекте" выберите правильную подписку. Выберите Создать новое. Введите myResourceGroup в качестве имени.

    Снимок экрана: раздел сведений о проекте, где выбрана подписка Azure и группа ресурсов для веб-приложения.

  5. В разделе Сведения об экземпляре:

    • Введите глобально уникальное имя веб-приложения.
    • Выберите Контейнер.
    • Для операционной системы выберите Linux.
    • Для региона выберите регион, из которого вы хотите обслуживать приложение.

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

  6. В разделе "План службы приложений" выберите "Создать". Введите myAppServicePlan в качестве имени. Чтобы изменить уровень, выберите Обзор ценовых планов, затем выберите план и нажмите Выбрать в нижней части панели.

    Снимок экрана: параметры плана службы приложений.

  7. В верхней части области выберите вкладку "Контейнер ".

  8. На вкладке "Контейнер " для источника изображений выберите реестр контейнеров Azure. В разделе "Реестр контейнеров Azure" задайте следующие значения:

    • Реестр. Выберите реестр контейнеров.
    • Образ: выберите dotnetcore-docs-hello-world-linux.
    • Тег: выберите последняя версия.

    Снимок экрана: параметры реестра контейнеров Azure.

  9. Выберите Просмотр и создание в нижней части панели.

    Снимок экрана: кнопка

  10. После выполнения проверки нажмите кнопку "Создать".

  11. После завершения развертывания выберите Перейти к ресурсу.

    Снимок экрана, на котором показано, как перейти к ресурсу.

Перейдите к приложению

Перейдите в развернутое приложение в веб-браузере по URL-адресу http://<app-name>.azurewebsites.net.

Снимок экрана: служба приложений Windows.

Операционная система хостовой машины отображается в нижнем колонтитуле, что подтверждает, что приложение выполняется в контейнере Windows.

Приложение App Service извлекает из реестра контейнеров каждый раз при запуске. Если вы перестроите образ, отправьте его в реестр контейнеров. Приложение извлекает обновленный образ при перезапуске. Чтобы проинструктировать приложение немедленно извлечь обновленный образ, перезапустите его.

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

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

  1. В меню портала Azure или домашней странице выберите группы ресурсов>myResourceGroup.

  2. На панели myResourceGroup убедитесь, что перечисленные ресурсы являются теми, которые требуется удалить.

  3. Выберите команду Удалить группу ресурсов. Введите myResourceGroup в текстовом поле, чтобы подтвердить, а затем нажмите кнопку "Удалить".

Из этого краткого руководства вы узнаете, как развернуть приложение ASP.NET в образе Windows из Реестра артефактов Майкрософт в Службе приложений Azure.

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

Контейнеры Windows для пользовательских приложений не имеют этих ограничений. Разработчики могут использовать пользовательские контейнеры, чтобы предоставить контейнерным приложениям полный доступ к функциям Windows.

Предварительные условия

Подключение к Azure

Войдите в учетную запись Azure с помощью Connect-AzAccount команды и выполните следующую команду:

Connect-AzAccount

Создать группу ресурсов

Создайте группу ресурсов с помощью команды New-AzResourceGroup. Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus. Чтобы просмотреть все поддерживаемые расположения для службы приложений, выполните Get-AzLocation команду.

New-AzResourceGroup -Name myResourceGroup -Location eastus

Команда возвращает Login Succeeded.

Создание плана службы приложений

Создайте план службы приложений с помощью New-AzAppServicePlan команды.

В следующем примере создается план Службы приложений с именем myAppServicePlan и ценовой категорией PremiumV3 (-Tier PremiumV3). Параметр -HyperV позволяет указать контейнер Windows.

New-AzAppServicePlan -Name myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -Tier PremiumV3 -HyperV

Создание веб-приложения

Создайте приложение с помощью New-AzWebApp команды:

New-AzWebApp -Name myWebApp -AppServicePlan myAppServicePlan -Location eastus -ResourceGroupName myResourceGroup -ContainerImageName mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Параметр Name задает имя веб-приложения.
  • Параметр AppServicePlan задает имя плана службы приложений.
  • Параметр Location указывает расположение.
  • Параметр ResourceGroupName задает имя группы ресурсов.
  • Параметр ContainerImageName задает имя образа контейнера и необязательный тег.

Выполнение команды может занять несколько минут.

Переход в приложение

Найдите развернутое приложение в веб-браузере по URL-адресу http://<app-name>.azurewebsites.net.

Снимок экрана: служба приложений Windows.

Приложение App Service извлекает из реестра контейнеров каждый раз при запуске. Перестройте ваш образ и отправьте его в контейнерный реестр. Приложение извлекает обновленный образ при перезапуске. Чтобы проинструктировать приложение немедленно извлечь обновленный образ, перезапустите его.

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

Удалите группу Remove-AzResourceGroup ресурсов с помощью команды:

Remove-AzResourceGroup myResourceGroup

Из этого краткого руководства вы узнаете, как развернуть приложение ASP.NET в образе Windows из Реестра артефактов Майкрософт в Службе приложений Azure.

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

Контейнеры Windows для пользовательских приложений не имеют этих ограничений. Разработчики могут использовать пользовательские контейнеры, чтобы предоставить контейнерным приложениям полный доступ к функциям Windows.

Предварительные условия

Подключение к Azure

Войдите в свою учетную запись Azure. az login Используйте команду и следуйте инструкциям в командной строке:

az login

Создать группу ресурсов

Создайте группу ресурсов с помощью az group create команды. Группа ресурсов Azure является логическим контейнером, в котором происходит развертывание ресурсов Azure и управление ими.

В следующем примере создается группа ресурсов с именем myResourceGroup в расположении eastus. Чтобы просмотреть все поддерживаемые расположения для службы приложений, выполните az appservice list-locations команду.

az group create --name myResourceGroup --location eastus

Создание плана службы приложений

В группе ресурсов создайте план службы приложений, используя команду az appservice plan create.

В следующем примере создается план Службы приложений с именем myAppServicePlan и ценовой категорией P1V3 (--sku P1V3).

az appservice plan create --resource-group myResourceGroup --location eastus --name myAppServicePlan --hyper-v --sku p1v3

Примечание.

При возникновении ошибки "Поведение этой команды было изменено следующим расширением: appservice-kube", удалите appservice-kube расширение.

Создание веб-приложения

Создайте пользовательское веб-приложение контейнера в myAppServicePlan плане службы приложений с помощью команды az webapp create. Не забудьте заменить myContainerApp уникальным именем приложения (допустимыми символами являются a-z, 0-9и -).

az webapp create --name myContainerApp --plan myAppServicePlan --resource-group myResourceGroup --deployment-container-image-name mcr.microsoft.com/azure-app-service/windows/parkingpage:latest
  • Параметр Name задает имя веб-приложения.
  • Параметр AppServicePlan задает имя плана службы приложений.
  • Параметр Location указывает расположение.
  • Параметр ResourceGroupName задает имя группы ресурсов.
  • Параметр deployment-container-image-name задает имя образа контейнера и необязательный тег.

Переход в приложение

Найдите развернутое приложение в веб-браузере по URL-адресу http://<app-name>.azurewebsites.net.

Снимок экрана: служба приложений Windows.

Приложение App Service извлекает из реестра контейнеров каждый раз при запуске. Если вы перестроите образ, отправьте его в реестр контейнеров. Приложение извлекает обновленный образ при перезапуске. Чтобы проинструктировать приложение немедленно извлечь обновленный образ, перезапустите его.

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

Удалите группу az group delete ресурсов с помощью команды:

az group delete --no-wait --name <resource_group>