If you want to run Linux containers on Windows 11 without Docker Desktop, Microsoft’s built-in wslc.exe lets you start with a test container and build an image for your own project. It’s a practical route for Windows developers who need Linux containers.

What wslc does on Windows 11

Microsoft includes wslc.exe with Windows Subsystem for Linux (WSL), so there’s no separate container engine to install. It builds and runs Linux containers. Microsoft’s WSL container guide gives the commands for setup, project builds, networking, and cleanup.

Set up WSL and verify wslc

Install WSL only if it is missing, update it, then check wslc with a Linux test container.

Open PowerShell and follow these steps in order:

  1. Install WSL if it isn’t already installed. Run wsl --install.
  2. Update WSL. Run wsl --update to get the latest version.
  3. Check that wslc responds. Run wslc version.

Run your first Linux container

Gary Explains walks through WSL setup, a test container, port mapping, and GPU access in this English-language video, published July 2, 2026. The demonstration uses pre-release WSL update flags.

Run wslc run --rm hello-world. If the image isn’t already on your computer, WSL downloads it automatically. A “Hello” message indicates that the test ran successfully.

Build and run a project image

To build an image for your own app, put a Containerfile in the project’s root directory. It describes how to assemble the image. Microsoft’s Django example uses a Python base image, copies the project files and dependencies, and sets the app to listen on port 8000.

From the directory containing the Containerfile, build the image and give it a name:

wslc build -t helloworld-django .
wslc image list

The first command builds the image; the second lists local images so you can check that it was created. Start it as a background container and publish the app’s port:

wslc run -d --rm -p 8000:8000 --name django helloworld-django

Here, -p 8000:8000 publishes the app’s port for access from Windows. The --rm option removes the container after it stops.

Check the app and clean up

Check that the container is running and review its logs:

wslc container list
wslc container logs django

Open http://localhost:8000/ in a Windows browser to reach the app. To run a command inside the container, use wslc exec django uname; Microsoft’s guide uses the resulting Linux output to confirm that the container is running on the WSL 2 Linux kernel.

When you’re finished, stop the container with wslc container stop django. For troubleshooting, wslc container inspect and wslc container logs show container details and output. The cleanup commands wslc container prune and wslc image prune remove stopped containers and unused images.

If you use Linux tools in WSL, keep project files in the Linux filesystem. Microsoft warns that accessing project files stored on the Windows filesystem can significantly slow file access.

Abhinav Raj’s reported GPU test

In a report published October 23, 2026, XDA’s Abhinav Raj described testing a GPU-enabled container on a PC with a Ryzen 5 7600X, an NVIDIA RTX 4070 Ti Super with 16 GB of VRAM, and NVIDIA driver 617.14. The container used nvidia/cuda:12.9.1-base-ubuntu24.04 and --gpus all.

For a llama.cpp run with Gemma 4 E4B, Raj reported 124 tokens per second in each of two container runs, compared with 128–132 tokens per second across two native runs. Both used Q4_K_M quantization, full GPU offload, a 128K context, the same prompt, and a 256-token reply.