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.

Источник: habr.com

0 0 голоса
Рейтинг новости
1
0
Подписаться
Уведомить о
0 комментариев