1 октября 2026, 05:29
Microsoft представила WSL 3.0 с поддержкой запуска Linux-контейнеров в Windows

Microsoft представила подсистему Windows для Linux (Windows Subsystem for Linux - WSL) 3.0, позволяющую запускать Linux‑приложения в Windows. Новая ветка примечательна реализацией возможности для запуска Linux‑контейнеров в Windows и переходом на ядро Linux 6.18. Исходный исходник применяемых в WSL утилит командной строки, фоновых процессов для Linux‑окружений, графического стека wslg, сервисов для запуска контейнеров и виртуальной машины опубликован на GitHub под лицензией MIT. Версия WSL 2.0 вышла в сентябре 2023 года.
Инструментарий WSL предоставляет виртуальную машину с полноценным ядром Linux, в которой могут запускаться дистрибутивы Linux. Ядро включает специфичные для WSL изменения, такие как оптимизации для сокращения времени запуска и уменьшения потребления памяти, функция возвращения Windows освобождённой Linux‑процессами памяти и настройки для исключения лишних драйверов и подсистем. Система WSL устанавливается в отдельный дисковый образ (VHD) c файловой системой ext4 и виртуальным сетевым адаптером.
По информации OpenNET, в состав новой ветки WSL включён инструментарий для создания, развёртывания и запуска Linux‑контейнеров в Windows, включающий оболочку командной строки wslc (WSL Containers) и сопутствующий api, позволяющий запускать Linux‑контейнеры из Windows‑программ. Основные возможности wslc:
операции для управления жизненным циклом контейнеров, такие как создание, запуск, остановка, экспорт, очистка, инспектирование, проверка работы, передача событий об активности контейнера, копирование файлов в контейнер и из него;
ограничение потребления CPU и памяти отдельных контейнеров;
сборка, загрузка, отправка, импорт, сохранение и тест системных образов. Команды для просмотра списков доступных образов. Пакетные операции сразу с несколькими образами. Функция упаковки нескольких образов в один tar‑архив;
разработка и управление виртуальными сетями. Присоединение контейнеров к нескольким сетям. Создание собственных типов сетей. Проброс сетевых портов;
разработка, просмотр и удаление разделов. Работа с виртуальными дисками (VHD);
доступ к GPU из контейнеров и предоставление библиотек для работы непривилегированных пользователей с GPU;
разработка сеансов по мере необходимости, присвоение имён сеансам, настраиваемое местоположение хранилища;
SDK c api для автоматизации работы с контейнерами из программ на C++ и C#/WinRT;
команда «wslc logs» для просмотра и выборки данных из логов. Вывод статистики о работе контейнера. Подсветка вывода в утилите wslc;
интеграция с MSBuild и CMake;
поддержка управления при помощи групповых политик ADMX;
сопровождение расширения VS Code dev container для запуска и сборки разрабатываемого кода в контейнере;
функция использования wslc в качестве runtime для запуска контейнеров в инструментарии Aspire;
расширение vscode‑container‑client для управления контейнерами из редактора кода VS Code;
управление контейнерами wslc через текстовый интерфейс Lazywslc или десктоп‑приложение WinUI 3;
обвязка для запуска Linux‑контенеров из дистрибутивов Linux, запущенных в WSL.

Продолжить читать


