Microsoft начала публичное тестирование контейнеров WSL

Автор:

На конференции разработчиков Build 2026 Microsoft представила контейнеры WSL, которые позволяют создавать, запускать и управлять Linux-контейнерами в Windows без необходимости использования сторонних инструментов. Для удобства разработан новый интерфейс командной строки (CLI) для полного цикла работы с контейнерами и API.

Контейнеры WSL доступны в актуальной предварительной версии Windows Subsystem for Linux (WSL). Вы можете установить её с помощью команды wsl --update --pre-release или скачав дистрибутив с GitHub.

wslc.exe — CLI для контейнеров WSL

После обновления WSL в переменной PATH появится новый исполняемый файл wslc.exe. Этот CLI-инструмент имеет знакомый формат и возможности, так что у вас не должно возникнуть сложностей с запуском Linux-контейнеров.

Например, вы можете запустить полноценный рабочий стол 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

А для проверки доступа к графическому процессору можно использовать скрипт 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))"

Также существует псевдоним container.exe, который просто запускает wslc.exe. Вы можете использовать любой из вариантов.

API контейнеров WSL

Приложения для Windows теперь могут напрямую использовать контейнеры как часть логики самого приложения. Для WSL выпущен пакет NuGet, который доступен на сайте nuget.org, а также на странице релизов WSL. Он включает поддержку языков C, C++ и C#.

Это может быть полезно для повторного использования существующего Linux-специфичного кода, локального запуска облачных приложений или для ограничения доступа Linux-процесса к ресурсам хоста.

Этот API также интегрируется с MSBuild и CMake, поэтому вы можете просто добавить несколько строк в файлы своего проекта, и этапы сборки и развёртывания контейнера станут частью процесса сборки вашего приложения.