Прочитать на английском

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


Краткое руководство Запуск пользовательского контейнера в 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 приведенным ниже кодом. Затем сохраните файл.

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

    Снимок экрана: приложение, выполняющееся локально.

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

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

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

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

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

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

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

HTTP
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"> в верхней области и замените его следующим кодом:

    HTML
    <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, если она запущена.

Bash
docker --version

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

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

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

    Dockerfile
    FROM mcr.microsoft.com/appsvc/node:10-lts
    
    ENV HOST 0.0.0.0
    ENV PORT 8080
    EXPOSE 8080
    
    ENTRYPOINT ["pm2", "start", "--no-daemon", "/opt/startup/default-static-site.js"]
    
  2. Откройте палитру команди введите Образы Docker: сборка образа. Нажмите клавишу ВВОД , чтобы выполнить команду.

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

  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 с помощью следующей команды:

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

Принудительная отправка образов в Реестр контейнеров Azure

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

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

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

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

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

    docker
    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. В нижней части страницы выберите Review + create (Проверить и создать).

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

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

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

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

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

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

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

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

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

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

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

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

Связанный контент

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

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

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

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

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

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

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

Bash
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.

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

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

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

    docker
    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 в текстовое поле для подтверждения и щелкните Удалить.

Связанный контент

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

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

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

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

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

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

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

Azure PowerShell
Connect-AzAccount

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

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

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

Azure PowerShell
New-AzResourceGroup -Name myResourceGroup -Location eastus

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

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

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

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

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

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

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

Azure PowerShell
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.

Azure PowerShell
Remove-AzResourceGroup myResourceGroup

Связанный контент

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

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

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

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

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

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

Войдите в учетную запись Azure с помощью команды az login и следующего запроса:

Bash
az login

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

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

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

Azure CLI
az group create --name myResourceGroup --location eastus

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

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

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

Azure CLI
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 и -).

Azure CLI
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:

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

Связанный контент

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

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