WSL Containers: A Game Changer for Linux on Windows

At Microsoft Build 2026, Microsoft introduced WSL containers — a major evolution in Linux container development directly on Windows through the Windows Subsystem for Linux (WSL). Containers have become a cornerstone of modern development, from cloud-native applications and AI workloads to testing and deployment pipelines. WSL containers simplify this experience by providing a built-in, enterprise-ready way to create, run, and manage Linux containers on Windows, without requiring additional third-party tooling.

You can access the WSL container feature in the latest pre-release of WSL right away by running wsl --update --pre-release, or by downloading and installing it directly from GitHub.

Overview

WSL container adds two major new features to WSL:

  • A built-in Linux container CLI (wslc.exe)
  • An API for Windows applications to run Linux containers as part of their app logic

WSL Container CLI – wslc.exe

When you update to the latest WSL version, you get a new binary on your path: wslc.exe. This CLI tool supports full Linux container development workflows — running, debugging, testing, and more — with a familiar format that respects your existing muscle memory.

For example, you can run a full Linux desktop in a container:

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

Or check GPU access with a CUDA script:

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))"

There is also a built-in alias container.exe that maps to wslc.exe, so you can use either command interchangeably.

WSL Container API

Windows applications can now directly use containers as part of their application logic. WSL ships a NuGet package (available on nuget.org and the WSL releases page) with support for C, C++, and C#.

This API integrates with MSBuild and CMake, meaning you can add a few lines to your project files and have container build and deploy steps become part of your application’s build process — no manual steps required. You can git clone and try a sample or check out the full API reference.

Integration with Enterprise Tools

Monitor Security Events with Microsoft Defender for Endpoint (MDE)

WSL’s existing MDE plugin has been updated to be aware of Linux container events, providing the same security coverage whether you are using a WSL distro or containers. This feature is currently available as part of a private preview which you can sign up for here.

Manage WSL Container Settings with Intune

New management settings for WSL container are being added, allowing organizations to:

  • Control whether users can use WSL distros or containers
  • Specify an allowlist of container registries for pulling images

This addresses the top customer ask: “How can I control which distros/Linux images are allowed in my organization?” Currently available via GPO and an ADMX policy, with official Intune dashboard support coming within a few weeks.

VS Code Dev Containers

WSLc support has been added to VS Code Dev Containers in version 0.462.0-pre-release. To set it up, open the VS Code Dev Container settings, find the “Docker Path” setting, and change it to wslc. This is currently in pre-release and will soon move to general availability.

Further WSL Improvements

Alongside the container feature, Microsoft is making significant improvements to the underlying technology powering both WSL and WSL container:

  • New default file system (virtiofs): Makes Windows file access 2x faster
  • New default networking mode (Consomme): Relays Linux network traffic through Windows, allowing Linux applications to benefit from the same networking environment, security policies, and enterprise integrations available to Windows applications
  • Improved memory reclaim techniques: Gradually and consistently releases memory back to the Windows host when not in use

These lower-level platform changes will also benefit other container tools built on WSL, such as Docker Desktop, Podman Desktop, and Rancher Desktop.

Learn More

You can view the presentation from Build 2026 to learn more about the use cases and see demos. Additionally, visit the WSL container docs page for in-depth guides and sample code.

Feedback and What’s Next

This feature is currently in the pre-release version of WSL as a public preview. Microsoft aims to make WSL containers generally available in fall 2026. Install it, try it out, and file issues and feedback at the WSL GitHub page.

Source: Microsoft Dev Blogs – WSL container is now available for public preview by Craig Loewen, Senior Product Manager

Virtual Box- startup Options

The following is a summary of startup options available in virtual box start up .

Start with GUI

This launches the VM in a standard window, complete with 3D graphics support—provided 3D acceleration is enabled, Guest Additions are installed, and the OS supports it.

Detachable vs. Headless

These modes are essentially the same: neither provides 3D acceleration, even if it’s enabled in the VM settings.

Start without GUI (Headless)

Think of this as “monitorless.” The VM’s graphics system runs, but no window appears—like a monitor turned off and tucked away. The guest OS still renders the GUI, which you can access remotely via native protocols or VirtualBox RDP/VNC. To display the window, click Show in VirtualBox Manager, which switches to Detachable mode. To hide it again, use Machine → Detach GUI. You can toggle between visible and hidden as needed.

Start with Detachable GUI

This is simply a headless VM with its monitor visible in a window. You can show or hide the window at will, using the same toggle options as in headless mode.