This issue occurs when Docker Desktop gets stuck on the 'Starting...' screen and never fully initializes. It commonly affects Windows and Mac users after system updates, sleep/wake cycles, or when WSL/Hyper-V components become misconfigured.
When you launch Docker Desktop, it needs to initialize several components: the Docker daemon, networking, and on Windows, the WSL 2 backend or Hyper-V virtual machine. The 'Docker Desktop is starting...' message appears while these components are being set up. When Docker gets stuck at this stage, it means one of these initialization steps has failed or is taking too long. On Windows, this is often related to WSL 2 issues, the LxssManager service, or conflicts with antivirus software. On Mac, it may be caused by HyperKit conflicts, corrupted VM state, or resource constraints. The Docker daemon logs (dockerd.log) usually contain details about what specifically failed.
Start with the simplest fix. On Windows, open Task Manager and end all Docker processes (Docker Desktop, Docker Desktop Service, docker.exe). On Mac, use Force Quit (Cmd+Option+Esc) or Activity Monitor.
Then restart Docker Desktop. If it's still stuck after 2-3 minutes, proceed to the next step.
Open PowerShell or Command Prompt as Administrator and run:
wsl --shutdownWait 10 seconds, then start Docker Desktop again. This terminates all WSL instances and forces a clean restart of the Linux subsystem.
The LxssManager service manages WSL distributions. Open Services (services.msc), find 'LxssManager', and restart it. Alternatively, run in PowerShell as Administrator:
Restart-Service LxssManagerIf the service fails to start, try stopping it first, waiting 10 seconds, then starting it.
On Windows, a full shutdown clears more cached state than a restart. Hold Shift while clicking Shut Down, or run:
shutdown /s /t 0After booting up, Docker Desktop often starts successfully. This is particularly effective for issues that appear after waking from sleep.
The Trusted Installer Worker can block Docker startup. Open Task Manager, go to the Details tab, and look for TiWorker.exe.
If it's running with high CPU usage:
1. Right-click TiWorker.exe and select End task
2. Open Services (services.msc) and restart 'Windows Modules Installer'
3. Try starting Docker Desktop again
Some antivirus programs interfere with Docker's virtualization. Temporarily disable your antivirus (Windows Defender, Norton, McAfee, etc.) and try starting Docker.
If Docker starts successfully, add Docker to your antivirus exclusions:
- C:\Program Files\Docker\Docker
- C:\ProgramData\Docker
- %LOCALAPPDATA%\Docker
If the Docker WSL distributions are corrupted, remove them so Docker can recreate them:
wsl --unregister docker-desktop
wsl --unregister docker-desktop-dataWarning: This will delete all Docker containers, images, and volumes. Back up important data first using docker save and docker export.
After unregistering, restart Docker Desktop. It will recreate the distributions automatically.
On Mac, remove Docker's VM state and data:
rm -rf ~/Library/Group\ Containers/group.com.docker
rm -rf ~/Library/Containers/com.docker.docker
rm -rf ~/.dockerWarning: This deletes all containers, images, and volumes. Restart Docker Desktop afterward to recreate a fresh environment.
If Docker Desktop can briefly open its UI before getting stuck, try resetting to defaults:
1. Open Docker Desktop settings (gear icon)
2. Click the Troubleshoot icon (bug icon)
3. Select 'Reset to factory defaults'
If you can't access the UI, delete the settings file manually:
- Windows: %AppData%\Docker\settings.json
- Mac: ~/Library/Group Containers/group.com.docker/settings.json
Try switching between Windows containers and Linux containers to reset Docker's state:
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemonRun this twice to switch away and back to your original mode.
Docker Desktop requires specific Windows features. Run in PowerShell as Administrator:
Get-WindowsOptionalFeature -Online | Where-Object {$_.FeatureName -match 'Hyper|Virtual|WSL'}Ensure these are enabled:
- Microsoft-Windows-Subsystem-Linux
- VirtualMachinePlatform
- HypervisorPlatform (optional but recommended)
Enable any missing features:
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 features.
Generate a diagnostic report to identify the issue:
Windows (PowerShell as Admin):
& "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" gather -uploadMac (Terminal):
/Applications/Docker.app/Contents/MacOS/com.docker.diagnose gather -uploadThis creates a diagnostics ID you can share with Docker support. Review the output for error messages.
As a last resort, completely remove and reinstall Docker Desktop:
Windows:
1. Uninstall from Settings > Apps
2. Run wsl --unregister docker-desktop and wsl --unregister docker-desktop-data
3. Delete C:\ProgramData\Docker and %LOCALAPPDATA%\Docker
4. Restart your computer
5. Download latest Docker Desktop from https://www.docker.com/products/docker-desktop
6. Install with default settings
Mac:
1. Drag Docker to Trash
2. Delete Docker data folders (see step 8)
3. Restart your Mac
4. Download and install fresh copy
Checking Docker logs: The Docker daemon logs can reveal why startup is failing. On Windows, check %LOCALAPPDATA%\Docker\log\vm\dockerd.log. On Mac, check ~/Library/Containers/com.docker.docker/Data/log/vm/dockerd.log.
WSL memory limits: If Docker is slow to start due to memory pressure, create or edit %UserProfile%\.wslconfig:
[wsl2]
memory=4GB
processors=2Pause instead of quit: If Docker gets stuck after wake from sleep, use the Pause feature (right-click system tray > Pause) before putting your computer to sleep to prevent state corruption.
Docker in CI/CD: If running Docker Desktop in CI environments (not recommended), consider using Docker Engine directly on Linux or Docker-in-Docker containers instead.
Version-specific bugs: Docker has fixed several startup-related bugs in recent versions. Check Docker Desktop release notes for known issues affecting your version. Version 4.26+ addressed several slow/frozen startup issues.
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
manifest unknown: manifest unknown
How to fix 'manifest unknown' in Docker
cannot open '/etc/passwd': Permission denied
How to fix 'cannot open: Permission denied' in Docker
Error response from daemon: failed to create the ipvlan port
How to fix 'failed to create the ipvlan port' in Docker
toomanyrequests: Rate exceeded for anonymous users
How to fix 'Rate exceeded for anonymous users' in Docker Hub