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


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

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

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

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

  • Установка Docker для Windows

  • Переключите Docker на выполнение контейнеров Windows

  • Установите Visual Studio 2022, а также следующие рабочие нагрузки: ASP.NET и веб-разработка и разработка Azure. В Visual Studio 2022 Community убедитесь, что выбран компонент шаблонов проектов и элементов .NET Framework с рабочей загрузкой ASP.NET и веб-разработки. Если вы уже установили Visual Studio 2022:

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

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

Создайте веб-приложение ASP.NET, сделав следующее:

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

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

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

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

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

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

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

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

  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. В разделе "Публикация" выберите правильную подписку. В реестрах контейнеров Azure выберите Создать новый, чтобы создать новый реестр контейнеров Azure.

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

  5. В разделе "Создать" выберите правильную подписку. В разделе Группа ресурсов выберите Новая, введите в качестве имени myResourceGroup и щелкните ОК. В разделе Номер SKU выберите Базовый. В разделе Расположение реестра выберите расположение реестра и щелкните Создать.

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

  6. На вкладке Публикация в разделе Реестр контейнеров выберите созданный реестр и щелкните Готово.

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

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

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

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

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

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

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

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

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

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

  6. Нажмите кнопку Далее: База данных, а затем далее: контейнер для продолжения.

  7. В поле Источник образа выберите Docker Hub, а для параметра Образ и тег укажите имя репозитория, скопированное в разделе Публикация в Реестре контейнеров Azure.

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

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

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

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

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

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

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

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

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

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

В браузере откроется следующая страница:

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

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

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

Поздравляем! Вы запустили свой первый пользовательский контейнер Windows в службе приложений Azure.

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

Для загрузки контейнера 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 в обозревателе решений откройте Представления>Главная страница>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 выберите "Перезапустить>да".

    Снимок экрана: страница

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

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

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

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

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

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

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

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

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

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

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

Внимание

При создании реестра контейнеров Azure не забудьте установить для параметра Администратор значение Включить. Его также можно установить из раздела Ключи доступа на странице реестра на портале Azure. Этот параметр необходим для доступа к Службе приложений. Информацию об управляемом удостоверении см. в учебнике по развертыванию из ACR.

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

  1. Запустите Visual Studio Code.

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

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

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

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

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

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

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

docker --version

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

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

    В этом 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. Когда Visual Studio Code завершит отправку образа в реестр контейнеров, выберите "Обновить " в верхней части обозревателя REGISTRYIES и убедитесь, что образ успешно отправлен.

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

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

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

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

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

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

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

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

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

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

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

Поздравляем, вы успешно выполнили данное краткое руководство!

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

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

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

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

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

Создание ресурсов Azure

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

    Снимок экрана: поиск по строке

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

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

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

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

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

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

  5. В разделе План Службы приложений выберите Создать план Службы приложений. Введите myAppServicePlan для имени. Чтобы изменить уровень "Бесплатный", выберите "Изменить размер", перейдите на вкладку "Разработка и тестирование ", выберите F1. Выберите Применить.

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

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

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

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

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

  8. В нижней части страницы выберите Проверить и создать.

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

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

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

    Снимок экрана: следующий шаг для перехода к ресурсу.

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

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

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

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

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

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

Поздравляем, вы успешно закончили эту быструю настройку.

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

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

В этом кратком руководстве показано, как развернуть приложение ASP.NET в Службе приложений Azure, используя образ Windows из Реестра контейнеров Azure.

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

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

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

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

Загрузите образ в Реестр контейнеров Azure

Убедитесь, что вы находитесь в корневой папке клонированного репозитория. Этот репозиторий содержит файл Dockerfile.windows. В этой статье в качестве базовой операционной системы используется Windows Nano Server LTSC 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

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

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

Создание ресурсов Azure

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

    Снимок экрана: поиск по строке

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

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

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

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

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

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

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

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

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

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

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

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

  8. В нижней части страницы выберите Проверить и создать (Review + create).

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

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

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

    Снимок экрана: следующий шаг для перехода к ресурсу.

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

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

Скриншот службы приложений Windows с сообщением о том, что контейнеры без открытых портов работают в фоновом режиме.

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

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

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

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

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

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

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

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

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

Подключение к 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 с сообщением о том, что контейнеры без открытых портов работают в фоновом режиме.

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

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

Remove-AzResourceGroup myResourceGroup

Поздравляем, вы успешно завершили этот быстрый старт.

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

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

В этом начальном руководстве показано, как развернуть приложение ASP.NET в образ Windows из Реестра артефактов Microsoft в Службе приложений Azure.

Требования

Подключение к 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 с сообщением о том, что контейнеры без открытого порта работают в фоновом режиме.

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

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

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

Поздравляем, вы успешно завершили это краткое руководство.

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