Microsoft запустила тестирование WSL Containers (WSLC): запуск и сборка Linux-контейнеров в Windows без стороннего ПО

2026-06-30 125 комментарии
WSL Containers (WSLC) в Windows Subsystem for Linux позволяет собирать и запускать Linux-контейнеры без сторонних инструментов. Новая функция включает CLI и API для разработчиков, поддержку корпоративного управления, ускоренный доступ к файлам и улучшенную работу с сетью. Общедоступный релиз ожидается осенью 2026 года

Контейнеры используются во множестве облачных приложений, ИИ-сервисов, а также в конвейерах тестирования и развёртывания. Разработчикам, работающим в Windows, долгое время приходилось использовать стороннее ПО, чтобы собирать и запускать такие контейнеры. Теперь этот шаг становится необязательным благодаря контейнерам WSL (WSL containers) – функции, которую представили на конференции Microsoft Build 2026 и выпустили в публичной предварительной версии Подсистемы Windows для Linux, начиная со сборки 2.9.3.

Консольный инструмент wslc.exe для работы с Linux-контейнерами в Windows

Установить функцию можно командой wsl --update --pre-release или напрямую загрузив с GitHub.

Несмотря на ранние сообщения, описывавшие новинку как «WSL 3», команда разработчиков WSL уточнила, что такой версии не существует. Контейнеры WSL – не преемник WSL 2, а дополнительная возможность поверх существующей платформы WSL.

Консольный инструмент wslc.exe

Контейнеры WSL добавляют в WSL две основные возможности. Первая – консольный инструмент для Linux-контейнеров wslc.exe, который появляется в системном пути после обновления. У него привычный формат команд (близкий к Docker), поэтому существующие команды для работы с контейнерами можно использовать почти без переучивания.

Разработчик может запустить Linux-десктоп в контейнере, выполнить CUDA-скрипт, чтобы проверить доступ к GPU, а также собирать, отлаживать и тестировать проекты через один и тот же исполняемый файл. Для wslc.exe есть и псевдоним container.exe, поэтому работают обе команды.

Например, запустить в контейнере полноценный Linux-десктоп и подключиться к нему можно так:

wslc run -d --name=webtop -e PUID=1000 -e PGID=1000 -e TZ=Etc/UTC -p 3000:3000 -p 3001:3001 lscr.io/linuxserver/webtop:ubuntu-kde

А проверить доступ к GPU с помощью CUDA-скрипта – так:

wslc run --rm --gpus all pytorch/pytorch:2.5.1-cuda12.4-cudnn9-runtime python -c "import torch; print(torch.cuda.is_available()); print(torch.cuda.get_device_name(0))"

Поддерживается полный жизненный цикл контейнеров: создание, запуск, остановка, экспорт, очистка и просмотр сведений, с ограничением ресурсов для каждого контейнера (--cpus, --memory, --ulimit). Доступны сборка, загрузка (pull), отправка (push), импорт и сохранение образов, а также управление сетями и томами.

API для приложений Windows

Вторая возможность – API, который позволяет приложениям Windows запускать Linux-контейнеры как часть собственной логики. WSL поставляет NuGet-пакет на nuget.org и на странице релизов WSL, с поддержкой C, C++ и C#.

API контейнеров WSL для нативных приложений Windows

Нативные приложения Windows могут переиспользовать существующий Linux-код, запускать облачные приложения локально и ограничивать доступ Linux-процесса к ресурсам хоста. API интегрируется с MSBuild и CMake, поэтому несколько строк в файле проекта позволяют встроить этапы сборки и развёртывания контейнера в собственную сборку приложения. На Build 2026 этому была посвящена отдельная сессия с примерами использования, а в документации Microsoft есть руководства и примеры кода.

Корпоративные инструменты и управление

Новая функция также поддерживает корпоративные инструменты. Существующий подключаемый модуль Microsoft Defender for Endpoint для WSL теперь считывает события Linux-контейнеров и обеспечивает одинаковое покрытие для дистрибутивов и контейнеров. Сейчас эта возможность находится в закрытой предварительной версии, а заинтересованные команды могут подать заявку на участие.

Управление контейнерами WSL через Intune и групповые политики

Администраторы получают настройки управления через Intune. Эти параметры позволяют контролировать, могут ли пользователи в организации использовать дистрибутивы WSL или контейнеры, а также задавать список разрешённых реестров контейнеров, из которых можно загружать образы. Настройки уже работают через групповые политики (GPO) и ADMX-шаблоны, а официальная поддержка в панелях Intune ожидается в течение нескольких недель.

Расширение Dev Containers в Visual Studio Code получило поддержку wslc в версии 0.462.0-pre-release. Для настройки нужно изменить один параметр: открыть настройки dev containers, найти поле Docker Path и указать в нём wslc. Общедоступный выпуск этой возможности уже готовится.

Низкоуровневые улучшения: virtiofs и consomme

В основе функции лежат и более глубокие изменения. Новая файловая система по умолчанию для контейнеров WSL под названием virtiofs ускоряет доступ к файлам Windows примерно в два раза. Новый сетевой режим по умолчанию consomme передаёт сетевой трафик Linux через Windows, поэтому Linux-приложения наследуют сетевое окружение хоста, политики безопасности и корпоративные интеграции.

Улучшения в механизме возврата памяти позволяют регулярно возвращать неиспользуемую память хосту Windows и освобождать её, когда виртуальная машина Linux перестаёт в ней нуждаться. Каждый сеанс приложения или командной строки создаёт в фоне отдельную облегчённую служебную виртуальную машину Hyper-V – такая архитектура повышает безопасность за счёт изоляции рабочих нагрузок.

Эти изменения затрагивают доступ к файловой системе и работу с сетью, поэтому пока они применяются в контейнерах WSL, но более широкое внедрение в WSL запланировано на будущее. Инструменты для контейнеров на базе WSL, включая Docker Desktop, Podman Desktop и Rancher Desktop, используют те же платформенные доработки, что даёт пользователям Windows несколько производительных вариантов для работы.

Сейчас функция находится на канале предварительного выпуска (pre-release) как публичная предварительная версия. Microsoft планирует выпустить общедоступную версию осенью 2026 года.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте