Nearly every 'Docker Desktop failed to install' story has the same plot: Docker went in first, WSL was half-configured, and three tools ended up blaming each other. Install the foundation first and the whole setup becomes boring - which is what you want.
This page is the order, and only the order, with the reason for each step. Virtualisation, then WSL 2, then one finished distro, then Docker Desktop. Each layer is tested before the next one goes on, so if something fails you know exactly which layer owns the problem. If you are on an older Windows build where wsl --install does not exist, the manual route is here too.
wsl --install. This enables the required Windows features, downloads the WSL 2 kernel and installs UbuntuWhy finish the distro? A half-created distro is the most common hidden cause of Docker Desktop hanging at its first start.
wsl -l -v and read the VERSION column - it must say 2wsl --set-version Ubuntu 2 (use your distro's exact name from the list)wsl --set-default-version 2 so future distros install as version 2 automaticallywsl --update once so the kernel is current before Docker ever looks at itOn older Windows 10 builds the one-command install may not exist. The manual equivalent, in order:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestartdism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartwsl --set-default-version 2, then install a distro from the Microsoft Store and finish its first runSkip the kernel package and you get the famous error telling you the WSL 2 installation is incomplete - because it literally is.
Now install Docker Desktop from docker.com, keeping Use WSL 2 instead of Hyper-V ticked. Sign out and back in when it asks - Docker adds you to the docker-users group, and Windows only applies group membership at sign-in.
Then open Docker Desktop settings, go to Resources, then WSL Integration, and switch on your distro. That is what makes the docker command work inside Ubuntu as well as in PowerShell.
The video follows this exact order on screen - watch it once and your own install will feel routine.
▶️ Watch Full VideoDocker Desktop will usually complain that WSL 2 is not installed or not configured, or sit at the starting screen. Leave Docker installed, set up WSL 2 properly (distro finished, version 2, kernel updated), restart, and try again - reinstalling Docker is rarely necessary.
Your Windows build is older or WSL was never enabled. Use the manual route on this page: enable the two Windows features with DISM, restart, install the WSL 2 kernel update package from Microsoft, set the default version to 2, then install a distro from the Store.
Installing adds your account to the docker-users group, which controls who may talk to the Docker engine. Windows applies group membership when you sign in, so the sign-out is how the permission actually arrives.