Docker → wslc command converter
WSL containers run Linux containers natively on Windows 11 — no Docker
Desktop, no daemon, no licence. Paste a Docker command below to get the wslc
equivalent, plus the flags that quietly behave differently.
Try an example
On this page
Full Docker to wslc command mapping
13 verbs are byte-for-byte identical, 5 are grouped under a noun, 4 exist with behavioural differences, and 3 have no equivalent in the current preview. That last group is where migrations actually break, so check it first.
| Docker | wslc | Status | Notes |
|---|---|---|---|
docker run | wslc run | Identical | Core flags (-d, -p, -v, -e, --name, --rm, -it) behave the same. |
docker build | wslc build | Identical | Supports -t, -f, --build-arg. BuildKit-style output. |
docker pull | wslc pull | Identical | OCI registries, including Docker Hub, GHCR and ACR. |
docker push | wslc push | Identical | Requires wslc login for private registries. |
docker ps | wslc container list | Renamed | wslc ps is accepted as an alias in recent previews. |
docker ps -a | wslc container list --all | Renamed | Use --all to include stopped containers. |
docker images | wslc image list | Renamed | Grouped under the image noun. |
docker rmi | wslc image remove | Renamed | Accepts image ID or tag. |
docker rm | wslc container remove | Renamed | Use -f to force removal of a running container. |
docker stop | wslc stop | Identical | Sends SIGTERM then SIGKILL after the grace period. |
docker start | wslc start | Identical | — |
docker restart | wslc restart | Identical | — |
docker exec | wslc exec | Identical | Supports -it and -u for interactive shells. |
docker logs | wslc logs | Identical | Supports -f and --tail. |
docker inspect | wslc inspect | Partial | JSON shape follows OCI, not the Docker schema. Scripts that parse .NetworkSettings need updating. |
docker stats | wslc stats | Identical | Reports CPU, memory and IO from the utility VM. |
docker cp | wslc cp | Identical | Host paths use Windows syntax on the host side. |
docker tag | wslc tag | Identical | — |
docker login | wslc login | Identical | Credentials are stored per Windows user. |
docker system prune | wslc system prune | Partial | Prunes images and stopped containers. No build cache pruning yet. |
docker volume create | wslc volume create | Partial | Named volumes live inside the utility VM. Bind mounts use VirtioFS. |
docker network create | wslc network create | Partial | Bridge networking only. Traffic routes through the Windows host stack. |
docker compose up | (no direct equivalent) | Not supported | No built-in Compose runtime. Translate services to individual wslc run calls or drive them from a script. |
docker swarm | (no equivalent) | Not supported | Orchestration is out of scope for wslc. Use Kubernetes or Docker for swarm workloads. |
docker buildx bake | (no equivalent) | Not supported | Multi-platform bake files are not supported in the preview. |
Start here
Install WSL containers →
Enable the preview, verify wslc works, and fix the four errors that block most first runs.
wslc vs Docker Desktop →
Feature-by-feature comparison, plus an honest list of what you give up by switching.
Migrating from Compose →
wslc has no Compose runtime. Here is how to translate a compose file field by field.
VS Code dev containers →
One setting points the Dev Containers extension at wslc. What works, what breaks.
Testcontainers & wslc →
It cannot attach — wslc exposes no Docker socket. The supported workaround.
Docker ↔ wslc cheat sheet →
Every command, flag and path convention side by side on one printable page.
Frequently asked questions
- What are WSL containers?
-
WSL containers is a feature of the Windows Subsystem for Linux that runs OCI-compatible Linux
containers natively on Windows 11 without Docker Desktop or Podman. Containers run daemonless
as processes inside a dedicated Hyper-V utility VM, driven by a built-in CLI called
wslc.exe(also aliased tocontainer.exe). - Is
wslca drop-in replacement for the Docker CLI? -
Mostly.
run,build,pull,push,exec,logsandstoptake the same flags. Listing commands moved to noun form —wslc container listrather thandocker ps. Compose, Swarm,buildx bakeand restart policies have no equivalent yet. - Do I still need Docker Desktop?
-
No, for everyday build-and-run work. WSL containers ships with WSL itself, so there is no
third-party runtime and no Docker Desktop subscription. Keep Docker around only for Compose
stacks, Swarm, or multi-platform
buildxbuilds. - Is it faster than Docker Desktop?
- For host file access, yes — wslc shares directories over VirtioFS, which Microsoft measures at up to twice the throughput of the older sharing path. There is also no background daemon holding memory when nothing is running. Raw container CPU throughput is comparable, since both ultimately run Linux under Hyper-V.
- Can containers use my GPU?
-
Yes. wslc integrates the Container Device Interface and passes
/dev/dxgthrough, so CUDA and DirectML workloads work. The flag differs from Docker: use--device nvidia.com/gpu=allinstead of--gpus all. - Is this production ready?
-
Not yet. It is a public preview shipped behind
wsl --update --pre-release, and the command surface still changes between releases. It is solid for local development; do not build CI pipelines on it until it reaches general availability.