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
Open PowerShell and follow these steps in order:
- Install WSL if it isn’t already installed. Run
wsl --install. - Update WSL. Run
wsl --updateto get the latest version. - Check that wslc responds. Run
wslc version.
Run your first Linux container
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.