Microsoft опублікував WSL 3.0 із підтримкою запуску Linux-контейнерів в Windows

Компанія Microsoft представила реліз інструментарію WSL 3.0 (Windows Subsystem for Linux), що дозволяє запускати Linux-Додатки в Windows. Нова гілка примітна реалізацією можливості для запуску Linux-контейнерів в Windows та переходом на використання ядра Linux 6.18. Код застосовуваних у WSL утиліт командного рядка, фонових процесів для Linux-оточень, сервісів для запуску контейнерів та віртуальної машини, а також графічного стека wslg відкритий під ліцензією MIT. Зміни для ядра Linux поставляються під ліцензією GPLv2

WSL надає віртуальну машину з повноцінним ядром Linux (на базі гілки 6.18), у якій можуть запускатися дистрибутиви Linux. Ядро включає специфічні для WSL зміни, такі як оптимізації для скорочення часу запуску та зменшення споживання пам'яті, можливість повернення Windows звільненою Linux-процесами пам'яті та налаштування для виключення зайвих драйверів та підсистем. Система встановлюється в окремий дисковий образ (VHD) з файловою системою ext4 та віртуальним мережним адаптером.

До складу нової гілки включений інструментарій для створення, розгортання та запуску 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.

У контейнерах задіяні за умовчанням файлова система «virtiofs», що демонструє дворазове прискорення доступу до Windows-файлам, та режим роботи мережі «consomme», що забезпечує покращену сумісність з різними мережевими конфігураціями (VPN, проксі і т.п.). У режимі «consomme» Linux-трафік пересилається через Windows, що дозволяє використовувати для Linux додатків всі можливості мережевого оточення Windows, включаючи політики безпеки та засоби інтеграції з корпоративними системами.

За виконання контейнерів відповідає привілейований Windows-сервіс wslservice.exe, що запускає віртуальна машина і використовує їх для виконання Linux. На відміну від WSL, сервіс wslservice.exe створює для контейнерів дочірній процес wslcsession.exe, що виконується з правами поточного користувача і бере на себе такі операції, як створення контейнерів, монтування каталогів та прокидання мережевих портів. Різні сеанси суворо ізольовані між собою та працюють у різних процесах. До кожного сеансу прив'язується окреме сховище VHD, що розміщується в каталозі %AppData%\Local\wslc\sessions. Можливе монтування в Linux-контейнері Windows-Шляхів для спільного доступу до файлів.



Джерело: opennet.ru
Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери 🔥 Купити надійний хостинг для сайтів із захистом від DDoS, VPS VDS сервери | ProHoster