In a hurry? Run wsl --install in admin PowerShell, reboot, then double-click the installer you downloaded from the Windows download page. Everything below is the long version, with the parts that commonly trip people up.
What you need before you start
Docker Desktop on Windows depends on three things being in place. Confirm each one now and you’ll skip the most common first-launch errors.
- A supported Windows version. Windows 10 64-bit version 21H2 or higher (Home, Pro, Enterprise, or Education) — or any Windows 11. Older builds are blocked at install time.
- Hardware virtualization enabled. Intel VT-x or AMD-V/SVM, switched on in BIOS/UEFI. We’ll check this in step one.
- An admin account. The installer adds your user to the
docker-userslocal group and registers a Windows service. Both require admin privileges.
The full Docker Desktop system requirements page lists every supported configuration if you need specifics.
Step 1 — Confirm hardware virtualization is enabled
Open Task Manager (Ctrl+Shift+Esc), switch to the Performance tab, and select CPU. The right-hand panel reports Virtualization: Enabled or Disabled.
If it’s already enabled, skip ahead to step two. If it isn’t, reboot into your motherboard firmware (UEFI/BIOS). The exact key varies by manufacturer:
- Most Lenovo, Dell, HP business laptops:
F1orF2at boot. - ASUS, MSI, Gigabyte desktops:
Delat boot. - Surface devices: hold
Volume Upwhile powering on.
Inside the firmware, find Intel Virtualization Technology (sometimes Intel VT-x) or AMD SVM Mode. Turn it on, save, and exit. Boot back into Windows and re-check the Task Manager. Need more detail? The virtualization troubleshooting guide walks you through the common BIOS layouts.
Step 2 — Install or update WSL 2
Docker Desktop’s default backend is WSL 2 — Microsoft’s lightweight Linux kernel that runs inside a Hyper-V-managed VM, with seamless filesystem and networking integration with the host. You install it with one PowerShell command, elevated to admin:
PS> wsl --install Installing: Virtual Machine Platform Installing: Windows Subsystem for Linux Installing: Ubuntu A reboot is required to complete the installation.
On a system that already has WSL, run wsl --update instead. Reboot when prompted — the kernel updates only take effect after a restart.
You don’t actually need to use Ubuntu inside WSL. The installer creates a tiny dedicated distro called docker-desktop for the engine, and another called docker-desktop-data for storage. They are not user-facing — leave them alone.
Step 3 — Download the installer
Pick the installer that matches your CPU architecture — Docker Desktop Installer.exe comes in an x64 build for Intel/AMD machines and an ARM64 build for Snapdragon X laptops. Both should be digitally signed by the publisher.
Right-click the downloaded file, choose Properties, and check the Digital Signatures tab — the signer name should match the publisher you trust. If it doesn't, delete the file and re-download from a source you trust.
For background on which build you actually need, see Download Docker Desktop for Windows.
Step 4 — Run the installer
Double-click Docker Desktop Installer.exe. You’ll see a configuration page with two checkboxes:
- Use WSL 2 instead of Hyper-V (recommended). Leave it checked. The Hyper-V backend is still supported but heavier on resources.
- Add shortcut to desktop. Personal preference.
Click OK. The installer copies ~600 MB of files, adds your user to docker-users, and registers a Windows service called com.docker.service. When it finishes, click Close and log out. The group-membership change only applies to new sessions.
Step 5 — Launch Docker Desktop and accept the agreement
After signing back in, open Docker Desktop from the Start menu. Three things happen on first launch:
- You're prompted to accept the Docker Subscription Service Agreement. Read it before clicking accept — it determines whether your usage is free or requires a paid subscription.
- You can sign in with a Docker Hub account. Optional, but it raises the anonymous pull-rate limit and is required for Docker Scout’s vulnerability scanning.
- The engine starts. You’ll see the whale icon in the system tray cycle through Docker Desktop is starting → Docker Desktop is running. The first start takes about 60 seconds; subsequent starts are quicker.
If the whale gets stuck on “starting,” jump to troubleshooting.
Step 6 — Verify the install
Open a fresh PowerShell window — fresh, because your group membership changed — and run:
PS> docker --version Docker version 27.2.0, build d5c9a4b PS> docker run --rm hello-world Hello from Docker! This message shows that your installation appears to be working correctly.
If both commands succeed, Docker Desktop is installed and the engine is reachable. From here, jump to the getting-started guide for your first real container — usually a one-line Nginx server you can hit at http://localhost:8080.
Optional configuration worth doing once
Cap the resources Docker Desktop is allowed to use
Open Docker Desktop → Settings → Resources. Under the WSL 2 backend, the engine inherits memory dynamically from Windows, but you can pin a hard ceiling by editing %USERPROFILE%\.wslconfig and adding a [wsl2] section with memory=8GB and processors=4. Restart WSL with wsl --shutdown for the change to take effect.
Set the engine to start with Windows
Settings → General → Start Docker Desktop when you log in. Convenient on a dedicated dev box, less so on a battery-constrained laptop.
Enable Kubernetes (only if you need it)
Settings → Kubernetes → Enable Kubernetes. The cluster takes a couple of minutes to come up the first time and adds ~1 GB of memory overhead. If you don’t actually need k8s, leave it off.
Common Windows install errors and where to look
- “WSL 2 installation is incomplete” / “Failed to deploy distro” — see WSL 2 troubleshooting.
- “Hardware assisted virtualization … must be enabled in the BIOS” — see enabling virtualization.
- VirtualBox or VMware can’t start after Docker Desktop — see Hyper-V conflicts.