This error occurs when Docker Desktop cannot find its internal WSL 2 distribution named 'docker-desktop'. The distribution is essential for running the Docker engine on Windows and may be missing due to failed installation, corruption, or manual removal.
Docker Desktop on Windows uses WSL 2 (Windows Subsystem for Linux) to run Linux containers. When Docker Desktop installs, it creates special-purpose WSL distributions: 'docker-desktop' (which runs the Docker engine) and 'docker-desktop-data' (which stores container images and data in older versions). When you see 'The WSL distribution docker-desktop does not exist', it means Docker Desktop is trying to start but cannot find its required WSL distribution. This prevents Docker from initializing the container runtime. The distribution may have been accidentally unregistered, corrupted during a Windows update, or failed to install properly during Docker Desktop setup. Starting from Docker Desktop 4.30+, the architecture changed slightly - docker-desktop-data is no longer created for fresh installations, but the docker-desktop distribution is still required for the Docker engine to function.
First, verify which WSL distributions are installed. Open PowerShell or Command Prompt and run:
wsl -l -vYou should see docker-desktop listed. If it's missing, Docker cannot start properly. This confirms the error.
Sometimes Docker Desktop can recreate its distributions on restart. Completely quit Docker Desktop (right-click the system tray icon and select 'Quit Docker Desktop'), then:
wsl --shutdownWait a few seconds, then start Docker Desktop again. It may automatically recreate the missing distribution.
An outdated WSL installation can cause distribution creation to fail. Run as Administrator:
wsl --updateIf that fails with a network error, try:
wsl --update --web-downloadAfter updating, restart your computer and try starting Docker Desktop again.
Docker Desktop requires specific Windows features. Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestartRestart your computer after enabling these features, then try starting Docker Desktop.
Ensure WSL 2 is set as the default version for new distributions:
wsl --set-default-version 2This ensures Docker Desktop creates its distribution with the correct WSL version.
Use the Docker Desktop installer to repair the installation:
1. Download the latest Docker Desktop installer from https://www.docker.com/products/docker-desktop
2. Run the installer - it will detect the existing installation
3. Choose to repair or reinstall over the existing installation
This often recreates the missing WSL distribution without losing your settings.
If repair doesn't work, perform a clean reinstall:
1. Uninstall Docker Desktop from Windows Settings > Apps
2. Remove any remaining Docker WSL distributions:
wsl --unregister docker-desktop 2>$null
wsl --unregister docker-desktop-data 2>$null3. Delete Docker data folders:
Remove-Item -Recurse -Force "$env:LOCALAPPDATA\Docker" -ErrorAction SilentlyContinue
Remove-Item -Recurse -Force "$env:APPDATA\Docker" -ErrorAction SilentlyContinue4. Restart your computer
5. Install Docker Desktop fresh from https://www.docker.com/products/docker-desktop
WSL distributions require several gigabytes of disk space. Check available space on your system drive:
Get-PSDrive C | Select-Object Used,FreeIf space is low, free up at least 10GB. WSL stores distributions in %LOCALAPPDATA%\Docker\wsl by default. Ensure this location has sufficient space and is not on a compressed or encrypted volume.
Some antivirus software blocks WSL distribution creation. Temporarily disable your antivirus:
1. Disable real-time protection
2. Uninstall Docker Desktop
3. Reinstall Docker Desktop
4. Re-enable antivirus protection
If this works, add Docker Desktop and WSL paths to your antivirus exclusions:
- %ProgramFiles%\Docker
- %LOCALAPPDATA%\Docker
- %LOCALAPPDATA%\Packages\*docker*
Docker Desktop Version Changes: Starting with Docker Desktop 4.30, fresh installations no longer create the docker-desktop-data distribution. Instead, Docker manages its own virtual hard disk (VHDX) for storage. If you're upgrading from an older version, Docker continues using the existing docker-desktop-data distribution.
Manual Distribution Import: In rare cases, you can manually import a docker-desktop distribution. However, this is not recommended as Docker Desktop manages these distributions internally and may not work correctly with manually created ones.
WSL Storage Location: By default, WSL stores distributions in %LOCALAPPDATA%\Packages. You can check if the docker-desktop distribution files exist at %LOCALAPPDATA%\Docker\wsl\distro\ext4.vhdx. If this file is missing or corrupted, reinstallation is required.
Enterprise Environments: If Docker Desktop is deployed via MDM or Group Policy, ensure the deployment includes proper WSL configuration. The distribution creation requires local administrator privileges during installation.
Hyper-V Alternative: If WSL 2 continues to cause issues, Docker Desktop can use Hyper-V backend instead. In Docker Desktop settings, disable 'Use the WSL 2 based engine'. This requires Hyper-V to be enabled and provides different performance characteristics.
unable to configure the Docker daemon with file /etc/docker/daemon.json
How to fix 'unable to configure the Docker daemon with file daemon.json' in Docker
docker: Error response from daemon: OCI runtime create failed: container_linux.go: starting container process caused: exec: "/docker-entrypoint.sh": stat /docker-entrypoint.sh: no such file or directory
How to fix 'exec: entrypoint.sh: no such file or directory' in Docker
image operating system "linux" cannot be used on this platform
How to fix 'image operating system linux cannot be used on this platform' in Docker
dockerfile parse error line 5: unknown instruction: RRUN
How to fix 'unknown instruction' Dockerfile parse error in Docker
manifest unknown: manifest unknown
How to fix 'manifest unknown' in Docker