How to Fix Docker Desktop Stuck Starting the Engine on Windows

Troubleshoot “starting the docker engine stuck windows” with Docker and WSL restarts, updates, virtualization checks, and backups.

Contents

Don't Miss the Good Stuff

Get tech news that matters delivered to your inbox.

Restart Docker Desktop, then stop Docker and restart the WSL runtime if the engine stays stuck starting on Windows with the WSL 2 backend. If that does not help, update WSL and Docker, then use the startup error to check virtualization or configuration. Back up Docker’s data before cleanup, factory reset, or reinstallation.

The short version

  • Start with a restart: Restart Docker Desktop through its troubleshooting menu or the Desktop CLI.
  • Refresh WSL: Save your WSL work, stop Docker, and shut down the WSL runtime before reopening Docker.
  • Check prerequisites: Update WSL and Docker, then check the virtualization features required by your backend.
  • Protect local data: Back up Docker’s virtual disk before cleanup, factory reset, or uninstalling.

Fix or checkWhen to use itMain consideration
Restart through Docker’s menuThe interface respondsStart with the application restart
Restart through the Desktop CLIThe Dashboard is inaccessibleRequires the Desktop CLI
Restart WindowsAfter installations or system changesSave your work first
Restart WSLDocker uses WSL 2Stops every running WSL distribution
Install or update WSLWSL is missing or outdatedUse the download fallback if needed
Download the WSL installerTerminal or Store installation is unavailableMatch your processor architecture
Update Docker DesktopAn application update is availableAdministrator privileges may be required
Install Windows updatesWindows components need updatingComplete required restarts
Read Docker logsThe cause remains unclearMatch the repair to the startup error
Collect diagnosticsYou need support for an unresolved hangKeep the Diagnostic ID
Enable Virtual Machine PlatformThe WSL 2 prerequisite is disabledRestart Windows afterward
Enable other backend featuresYou use Hyper-V or Docker VMMEnable only the required features
Enable firmware virtualizationCPU virtualization is disabledFollow your manufacturer’s instructions
Restore hypervisor startupAnother configuration disabled its launchUse an administrator terminal
Select the WSL 2 backendYou want to use WSL 2The setting can already be enabled and hidden
Switch to Linux containersThe wrong container mode is selectedRequires an installation supporting switching
Correct daemon configurationA configuration change preceded the failurePreserve a copy before editing
Restore WSL configurationResource or kernel customization preceded the failureRestore previous working values
Correct VM resources or disk locationThe error identifies a specific shortage or access problemControls depend on the backend
Repair Windows componentsWSL itself reports unexpected failuresRun DISM before System File Checker
Back up Docker’s virtual diskYou are considering destructive recoveryFully stop Docker before copying
Clean up Docker dataLocal engine data is damagedDeletes local containers and images
Reset Docker DesktopYou need destructive recovery and controls remain accessibleBack up first
Uninstall Docker DesktopThe installation needs replacementDeletes local Docker data
Download and reinstall Docker DesktopYou have removed the damaged installationMatch the installer to your processor

Restart Docker Desktop and Windows

Open the Docker taskbar menu, select Troubleshoot, then choose Restart Docker Desktop. You can also open Troubleshoot through the Dashboard’s question-mark icon. If the interface does not respond and the Desktop CLI is installed, run this command in PowerShell:

docker desktop restart

Alternatively, stop Docker and start it again through the CLI. Run the first command below, wait for it to finish, then run the second:

docker desktop stop
docker desktop start

After the restart, check Docker Desktop’s application state. Run this command in PowerShell:

docker desktop status

A Windows restart is particularly relevant after an installation, update, or Windows-feature change. Save your work, then on Windows 11 select Start > Power > Restart. Open Docker Desktop after signing back in.

Select Start to open the Windows Start menu.
Click to expand
Select Start to open the Windows Start menu.

Restart the WSL runtime

If Docker uses the WSL 2 backend, stop Docker Desktop before restarting the shared WSL runtime. The following command terminates every running WSL distribution and the shared WSL 2 virtual machine, so save your work in all WSL distributions before running it in PowerShell.

wsl --shutdown

Start Docker Desktop again after the command finishes. Shutting down WSL does not unregister your distributions. If the engine remains stuck, check and update WSL next.

Update WSL and Docker Desktop

For the WSL 2 backend, open PowerShell as administrator and check your installed WSL version with the command below. Docker requires WSL 2.1.5 or later and recommends a newer supported release.

wsl --version

For an existing WSL installation, run the update command below. Restart Windows if requested before retrying Docker.

wsl --update

If Store delivery is unavailable, use the web-download option. Run this alternative update command:

wsl --update --web-download

If WSL is absent, install it without adding a separate Linux distribution. Run this command in the administrator PowerShell window and restart if requested:

wsl --install --no-distribution

When installation through the terminal or Microsoft Store is unavailable, get the installer from Microsoft’s WSL releases. Choose a stable release and the installer matching your processor architecture.

Next, check for a Docker Desktop update through the current Desktop CLI. Run the first command to check availability, then the second to apply an update; an all-users installation may require administrator privileges.

docker desktop update --check-only
docker desktop update

On Windows 11, also open Start > Settings > Windows Update > Check for updates. Install applicable updates and complete any required restart before opening Docker again.

Use logs to identify the next fix

If restarts and updates do not help, inspect Docker’s startup error and logs before changing more settings. With the current Desktop CLI installed, run:

docker desktop logs

Use the error to distinguish virtualization, disk-access, configuration, and policy failures before choosing a repair. If you need help with an unresolved hang, open Troubleshoot > Get support > Upload, then copy the Diagnostic ID. Select Contact support for an eligible subscription or select Report a Bug.

A startup error can also offer Gather diagnostics. If the interface cannot open, collect diagnostics through the Desktop CLI:

docker desktop diagnose

Diagnostics help investigate the hang but do not automatically repair the engine. Keep the Diagnostic ID for your support request or bug report, including if the problem survives reinstallation.

Enable the virtualization features your backend needs

The WSL 2 backend needs Virtual Machine Platform. Search Start for Windows features, open Turn Windows features on or off, and select Virtual Machine Platform. Select OK, then restart Windows; administrator access may be required.

For a supported x86-64 Hyper-V configuration with an all-users installation, open Turn Windows features on or off and select Hyper-V and Containers. For Docker VMM, select Windows Hypervisor Platform and Virtual Machine Platform. Enable the features for your selected backend, choose OK, and restart Windows.

If firmware virtualization is disabled, use Windows recovery to get to your PC’s BIOS. On Windows 11, open Settings > System > Recovery. Under Advanced startup, select Restart now.

On Windows 10, open Settings > Update & Security > Recovery, then select Restart now under Advanced startup. In recovery, choose Troubleshoot > Advanced options > UEFI Settings > Restart. The firmware option is also labeled UEFI Firmware Settings.

Enable virtualization using your PC manufacturer’s instructions, save, and restart. Firmware labels vary by manufacturer, and Surface devices already have virtualization enabled.

If virtualization features are installed but another program or configuration disabled hypervisor launch, restore its startup setting. Open an administrator terminal, run the command below, then restart Windows:

bcdedit /set hypervisorlaunchtype auto

Correct the backend or recent configuration changes

On a WSL-capable installation, open Docker Desktop’s Settings > General to select the WSL 2 backend. Select Use WSL 2 based engine, then select Apply. Docker says this option can be enabled automatically and hidden on compatible systems, so you may already be using it when the checkbox is missing.

If Windows containers are selected when you need Linux containers, open the Docker taskbar menu and select Switch to Linux containers. This applies to installations supporting engine switching. Linux and Windows containers have different prerequisites.

If the failure followed a daemon configuration change, preserve a copy of $HOME/.docker/daemon.json before editing. Open Docker Desktop’s Settings > Docker Engine, undo the change associated with the failure, and correct invalid JSON. Use a text editor if settings cannot open.

For a WSL 2 failure that followed resource or kernel customization, review %UserProfile%\.wslconfig. Restore the previous working values for the affected memory, processors, swap, kernel, or kernelModules settings. Apply this reversal only when the failure followed those changes.

Stop Docker Desktop before restarting WSL with the command below. It terminates all running WSL distributions, so save your WSL work before running it.

wsl --shutdown

Reopen Docker after the runtime shuts down. If a startup error instead identifies a resource shortage or inaccessible disk location, open Docker Desktop’s Settings > Resources > Advanced and correct that specific problem.

Depending on your backend, the controls include Memory limit, Disk usage limit, and Disk image location. WSL memory limits are configured through WSL rather than Docker’s Hyper-V resource sliders. No single allocation fixes every startup hang.

Repair Windows when WSL itself fails

If WSL itself reports unexpected failures, damaged Windows components may need repair before Docker can start. You can repair Windows using Command Prompt with Microsoft’s component-repair tools. Open an administrator terminal and run this command first:

DISM /Online /Cleanup-Image /RestoreHealth

After it completes, run System File Checker with the command below. These tools repair Windows components rather than reset Docker’s local data.

SFC /SCANNOW

Complete any required restart, then retry WSL and Docker Desktop. If WSL works but Docker still hangs, use Docker’s logs and diagnostics to investigate before proceeding to destructive recovery.

Back up before resetting or reinstalling Docker

When Docker cannot start, preserve its data by copying the backend’s virtual disk to a safe location. Fully stop Docker Desktop before copying the file. Use your configured disk location if you previously changed it.

For WSL 2, copy %LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx. For Hyper-V, copy %ProgramData%\DockerDesktop\vm-data\DockerDesktop.vhdx; for Docker VMM, copy %LOCALAPPDATA%\Docker\vm-data\DockerDesktop.vhdx. A backup preserves data but does not repair the engine, and restoring a corrupt disk can restore the problem.

When local engine data is damaged, Docker offers a cleanup option that retains settings. Cleanup destroys local containers and images, so back up the virtual disk first. Open the Docker menu, select Troubleshoot, then select Clean up data.

A factory reset is another recovery option when troubleshooting controls remain accessible. Resetting Docker Desktop to factory defaults is destructive, so back up the virtual disk before proceeding. Open the Docker menu, select Troubleshoot, then select Reset to factory defaults.

Uninstalling deletes local Docker containers, images, volumes, and related data, so copy the virtual disk before removing Docker. That virtual disk holds Linux-container data. If you use Windows containers, also back up their data separately; Docker Engine on Windows stores it under C:\ProgramData\docker by default unless data-root was changed. On Windows 11, open Settings > Apps > Installed apps, find Docker Desktop, open More, and select Uninstall. On Windows 10, the app-removal surface in Settings is Apps & features.

Alternatively, open Control Panel > Programs > Programs and Features, select Docker Desktop, and choose Uninstall. Select Uninstall again to confirm Docker’s removal.

In Programs and Features, select the program, then select Uninstall.
Click to expand
In Programs and Features, select the program, then select Uninstall.

Get the replacement installer from the official Docker Desktop download page and use it to reinstall Docker Desktop. Choose the Windows AMD64 download for Intel or AMD x86-64 PCs, or the Windows ARM64 download for Windows Arm PCs. Docker identifies Windows Arm support as Early Access.

Frequently Asked Questions

Should you restart com.docker.service for a WSL 2 startup hang?

Investigate com.docker.service only when using features that require it, such as affected Hyper-V or Windows-container configurations. Per-user installations do not install this service, and ordinary WSL 2 operation does not require docker-users membership.

Can antivirus software stop Docker from starting?

Docker documents antivirus virtualization conflicts, including failures associated with ERROR_NOT_SUPPORTED. For Avast’s documented conflict, open Menu > Settings > Troubleshooting and uncheck Enable hardware-assisted virtualization. Apply that change only when antivirus interference is the cause.

Can Docker VMM replace WSL 2?

Docker VMM is a Beta alternative for current Windows x86-64 Docker Desktop installations, including per-user and all-users installations, and is unsupported on Windows Arm. It requires Windows Hypervisor Platform, Virtual Machine Platform, firmware virtualization, and at least 4 GB allocated to the Docker Linux VM. In Docker Desktop, open Settings > General > Virtual Machine Manager, select Docker VMM, then select Apply & restart.

Should you follow older instructions that edit settings.json?

Docker renamed settings.json to settings-store.json, so older instructions target an outdated filename. Use Docker’s current settings controls, or its factory-reset option after backing up, instead of blindly applying those edits.

Can you enable virtualization with a startup key?

For HP’s documented OMEN, Victus, Spectre, ENVY, and Pavilion BIOS layouts, turn on the PC and immediately press F10. Open Configuration > Virtualization Technology, select Enable, then press F10 to save and exit. That key and menu path are not universal.

Share