Install Docker Desktop on Windows 11 (Step by Step)
This is the first hands-on lab of the Docker series. By the end of it, Docker will be running on your Windows 11 computer and you'll have checked it with two commands: docker --version and docker info. If you haven't read it yet, start with Docker Introduction and Fundamentals, which explains what Docker, images and containers are. This page focuses only on the installation.
All output on this page comes from a real Windows 11 Pro machine running Docker Desktop 4.91 (Docker Engine 29.8).
What Docker Desktop installs
Docker containers for Linux need a Linux kernel. Windows doesn't have one, so Docker Desktop brings everything together for you:
- a small Linux virtual machine running on WSL 2 (Windows Subsystem for Linux), where the Docker daemon actually runs,
- the Docker CLI (
docker.exe) that you use in PowerShell or Command Prompt, - Docker Compose, Buildx and other plugins,
- a graphical dashboard to see your images, containers and volumes.
You type commands in Windows; the CLI sends them to the daemon inside the Linux VM. That's the client-server design described in Docker architecture.
Before you install: requirements
| Requirement | How to check |
|---|---|
| Windows 11 64-bit (Home, Pro, Enterprise or Education) | Settings > System > About |
| Hardware virtualization enabled in the BIOS/UEFI (Intel VT-x or AMD-V/SVM) | Task Manager > Performance > CPU: "Virtualization: Enabled" |
| WSL 2 | wsl --status in PowerShell |
| At least 4 GB of RAM (8 GB or more is comfortable) | Task Manager > Performance > Memory |
Licence: Docker Desktop is free for personal use, education, open-source projects and small businesses. Larger companies need a paid Docker subscription. Check Docker's current terms if you install it on an office computer.
Step 1: Install or update WSL 2
Open PowerShell as Administrator and run:
wsl --install
If WSL is already installed, update it instead:
wsl --update
Restart Windows if you're asked to. Then check the version:
wsl --version
Step 2: Download and run the installer
- Go to docker.com, open Products > Docker Desktop, and download Docker Desktop for Windows (AMD64). Use the ARM64 build only on an ARM laptop.
- Run
Docker Desktop Installer.exe. - On the configuration screen, keep "Use WSL 2 instead of Hyper-V (recommended)" selected.
- Click OK and wait for the files to be unpacked, then click Close (some versions ask you to sign out or restart).
Step 3: Start Docker Desktop
- Start Docker Desktop from the Start menu.
- Accept the service agreement. Signing in with a Docker account is optional; you can skip it.
- Wait until the bottom-left corner of the dashboard shows that the Engine is running. The whale icon in the system tray stops animating once Docker is ready.
Docker Desktop creates its own WSL distribution called docker-desktop. You can see it with:
wsl -l -v
Step 4: Verify with docker --version
Open a new PowerShell or Command Prompt window (a new one, so it picks up the updated PATH) and run:
docker --version
This only proves the client (the CLI) is installed. It doesn't talk to the daemon. To check both sides, use docker version (without the dashes):
docker version
Notice the two halves:
- The Client is
windows/amd64: thedocker.exeyou typed into. - The Server (Engine) is
linux/amd64: the daemon running inside the WSL 2 VM, together with containerd and runc, which actually start containers.
Step 5: Verify with docker info
docker info
The output is long. These are the lines worth reading:
| Line | What it tells you |
|---|---|
Context: desktop-linux | The CLI is connected to Docker Desktop's Linux engine. |
Containers / Images | How many containers and images exist on this machine. On a fresh install both are 0. |
Kernel Version: ...-microsoft-standard-WSL2 | Containers use the Linux kernel of the WSL 2 VM, not Windows. |
OSType: linux | You're in Linux-container mode, which is what almost all images need. |
CPUs / Total Memory | The resources the Docker VM may use. Change them with a .wslconfig file if needed. |
Docker Root Dir | Where images and containers are stored, inside the VM. |
If docker info prints a Server section without errors, your installation is complete.
Common installation problems and fixes
"failed to connect to the docker API" (Docker Desktop not running)
If you run a command while Docker Desktop is closed, the client can't reach the daemon. docker --version still works, because it only asks the client, but anything that needs the daemon fails:
docker ps
npipe:////./pipe/dockerDesktopLinuxEngine is the Windows named pipe the client uses to talk to the daemon; it exists only while Docker Desktop is running. docker version in the same situation prints the Client section, then this error instead of the Server section.
Fix: start Docker Desktop and wait for "Engine running". You can also start it from the command line with docker desktop start.
"WSL 2 installation is incomplete" or "WSL needs updating"
Fix: run wsl --update in an Administrator PowerShell, then restart Docker Desktop.
"Virtualization support not detected"
Fix: restart the computer, open the BIOS/UEFI setup, and enable Intel Virtualization Technology (VT-x) or AMD SVM. Then check Task Manager again.
Docker uses too much memory
The WSL 2 VM can take a large share of RAM. Create %UserProfile%\.wslconfig to limit it, then run wsl --shutdown and start Docker Desktop again:
[wsl2]
memory=4GB
processors=4
Interview questions
Why does Docker Desktop on Windows need WSL 2?
Linux containers share the host's Linux kernel. Windows has no Linux kernel, so Docker Desktop runs the Docker daemon inside a lightweight Linux VM provided by WSL 2.
What's the difference between docker --version and docker version?
docker --version prints only the client version, and works even when the daemon is down. docker version asks the daemon too, so it shows both client and server details, and fails on the server part when the daemon isn't running.
How do you check whether the Docker daemon is running?
Run docker info or docker version. If the Server section appears, the daemon is running; if you get a connection error, it isn't.
Summary
- Docker Desktop on Windows 11 runs the Docker daemon in a Linux VM on WSL 2.
- Install or update WSL 2, run the installer with "Use WSL 2" selected, then start Docker Desktop.
docker --versionchecks the client;docker versionanddocker infocheck the daemon too.- Most problems come from Docker Desktop not running, an old WSL, or virtualization switched off in the BIOS.
Next lab: Run the hello-world container and see exactly how Docker downloads an image and runs a container.