Страницы

четверг, 3 июня 2021 г.

Предварительная версия образа контейнера Windows Server для Windows Server 2022

29 апреля 2022 года была анонсирована предварительная версия образа контейнера базовой операционной системы Windows Server, собранного из Windows Server 2022 с возможностями рабочего стола (Desktop Experience). Для того чтобы попробовать образ контейнера на базе хоста контейнеров с Windows Server 2022 – внутренняя сборка 20344, воспользуйтесь следующей командой:

docker pull mcr.microsoft.com/windows/server/insider:10.0.20344.1

Прямая ссылка на репозиторий образов в Docker Hub: https://hub.docker.com/_/microsoft-windows-server-insider/.

Причины создания нового образа.


На данный момент существует три образа контейнеров с базовой операционной системой Windows, которые покрывают широкий спектр клиентских потребностей:
  • Nano Server – ультра-легкий образ контейнера для современной разработки новых приложений.
  • Server Core – образ контейнера среднего размера, лучше всего подходящий для переноса приложений Windows Server.
  • Windows – образ контейнера самого большого размера с практически полной поддержкой интерфейса разработки приложений (API) Windows для специальных рабочих нагрузок.
Образы контейнеров Nano Server и Server Core широко применяются и постоянно увеличивают свое присутствие. В последний год по увеличившейся активности в сообществе GitHub и количеству обращений в поддержку наблюдается увеличение интереса и к образу Windows.

На базе обратной связи от клиентов и сообщества были выявлены ограничения при использовании контейнеров, а также дополнительные требования, например:

Некоторые из ограничений изначально присутствовали в контейнерах ещё на этапе проектирования, так как образ контейнера Windows построен из полной редакции клиентской версии операционной системы Windows и настроен для запуска на Windows Server. Но команда разработки продолжает вкладываться в контейнеры Windows, пришло время создать новый образ на базе полной редакции Windows Server, чтобы обеспечить больше возможностей. В качестве «полной редакции» будет выступать Windows Server 2022 с возможностями рабочего стола (Desktop Experience). Формально, его можно рассматривать как ядро сервера (Server Core) с пользовательским интерфейсом рабочего стола (Desktop UI). В результате, был создан образ контейнера, который будет добавлен во все связанные репозитории Microsoft Container Registry (MCR) и страницы Docker Hub. Нужно отметить, что несмотря на то, что данный образ создан из редакции с возможностями рабочего стола (Desktop Experience), контейнеры Windows не имеют графического пользовательского интерфейса, и новый образ этого не изменит.

Имя нового образа.


Контейнеры Windows сами по себе не являются независимыми продуктами, они являются компонентами Windows Server. Вне зависимости от выбранного имени, команде разработки необходимо показать связь, а также избежать неудобства от дублирования. В MCR можно увидеть имя «mcr.microsoft.com/windows/server», этот образ еще называют «Windows Server Base OS Image», а также сокращенно: «Server Base Image» или «Server Image».

Особенности нового образа.


Новый образ будет доступен только вместе с Windows Server 2022. В случае использования образов Windows из предыдущих релизов, которые не сняты с поддержки, таких как: полугодовые релизы Windows Server сборки 1809, 1909, 2004 и 20H2 – эти образы не изменятся в рамках их циклов поддержки. Новый же образ не доступен с предыдущими релизами.

Быстрое сравнение между всеми четырьмя образами.

Образ контейнера Основной сценарий применения Сжатый размер Windows Server 2022 Windows Server 2016, 2019 Полугодовые релизы Windows Server 1809, 1909, 2004, 20H2
Nano Server
Современные приложения, такие как приложения .NET Core.
Ограниченная совместимость приложений.
112 MB X X
Server Core
Приложения .NET Framework.
Улучшенная совместимость приложений.
1.2 GB X X X
Windows
Приложения .NET Framework.
Лучшая совместимость приложений с ограничениями.
3.4 GB X
Server
Приложения .NET Framework.
Наилучшая совместимость приложений.
3.1 GB X



Примечание.

Поддерживаемая версия на сегодняшний день – это список релизов Windows Server, на которых образ контейнера поддерживается или будет поддерживаться. Например, образ Nano Server вышел вместе с полугодовыми релизами Windows Server сборки 1809, 1909, 2004 и 20H2, а также будет поддерживаться в релизе Windows Server 2022. Данный список может меняться, так как некоторые релизы будут достигать срока окончания поддержки.


Главные преимущества и возможности нового образа.


По сравнению с текущим образом Windows:
  • Меньший размер. Размер уменьшился с 3.4 GB до 3.1 GB.
  • Улучшенные производительность и устойчивость. Многие годы команда разработки улучшала производительность и устойчивость образов контейнера Server Core, благодаря широкому внутреннему и внешнему применению. Данный образ наследует все улучшения от Server Core.
  • Поддержка канала длительного обслуживания (LTSC). Планируется поддержка данного образа сроком в пять лет основной поддержки.
  • Серверные возможности. Процесс проверки еще не завершен, но новый образ контейнера будет поддерживать больше серверных сценариев/возможностей.
    • Подключения IIS. Существует ограничение в 10 подключениях. Новый образ не будет иметь данного ограничения.
    • Интерфейс разработки приложений Web Management Services (WMSVC). На данный момент проверка ещё не закончена, но, как ожидается, новый образ будет полностью поддерживать WMSVC API.
  • Более полная поддержка интерфейса разработки приложений (API).
  • Поддержка GPU. Анонс поддержки GPU состоялся ещё в апреле 2019-го года. Команда разработки уже завершила проверку поддержки GPU на новом образе.

Начать использовать.


Шаг 1. Установить предварительную версию Windows Server 2022 (Insider).

Чтобы начать использовать, потребуется установка Windows Server 2022 на базе предварительной сборки 20344. Загрузить предварительную версию Windows Server 2022 можно на странице Download Windows Server Insider Preview. При помощи загруженного ISO (или VHD) необходимо создать виртуальную машину.

Шаг 2. Установить Docker.

При работе с предварительной версией Windows Server 2022, воспользуйтесь следующими командами PowerShell для установки Docker:

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force
Install-Package -Name docker -ProviderName DockerMsftProvider
Restart-Computer -Force

После перезагрузки машины, выполните команду «docker info», чтобы убедиться в корректности установки Docker.

Шаг 3. Выгрузить новый образ.

docker pull mcr.microsoft.com/windows/server/insider:10.0.20344.1

Шаг 4. Запустите новый образ.

docker run -it mcr.microsoft.com/windows/server/insider:10.0.20344.1 cmd


Примечание.

На хосте Windows Server, контейнеры по умолчанию запускаются в режиме изоляции процесса (Process-isolation Mode). Дополнительную информацию по режимам изоляции можно получить по ссылке: Windows Server Container Isolation Modes.

Если вы хотите попробовать то же самое на машине с Windows 10, воспользуйтесь следующей инструкцией: Use Containers with Windows Insider Program, но обязательно убедиться, что вы используете новейший внутренний релиз (Insider) Windows 10, например сборку 21364. На хосте Windows 10 контейнеры по умолчанию запускаются в режиме изоляции Hyper-V (Hyper-V Isolation Mode).

Заключение.


Команда разработки потратила достаточно много времени на разработку нового образа с тех пор, как взялась за этот проект в начале текущего года. Обратная связь помогает команде двигаться в правильном направлении и поставлять инновации.

Команда разработки будет рада, если вы попробуете новый образ контейнера и оставите обратную связь в сообществе GitHub или наприте ее напрямую: win-containers@microsoft.com.

Комментариев нет:

Отправить комментарий