Yidne
Yidne

Reputation: 929

"Docker Desktop Starting..." forever on Windows

I have installed Docker Desktop version 4.4.4 and it is not running. It only displays "Docker Desktop Starting ..." but never starts running.

I have tried so many ways but didn't solve:

  1. Allowing the following files in windows firewall C:\program files\docker\docker\resources\vpnkit.exe, C:\program files\docker\docker\com.docker.service C:\program files\docker\docker\resources\com.docker.proxy.exe
  2. Removing 'Docker' and 'Docker Desktop' folders from AppData/Roaming and AppData/Local
  3. Uninstalling and reinstalling Docker with different versions including 4.5.1

Upvotes: 73

Views: 115883

Answers (20)

Fazal Haroon
Fazal Haroon

Reputation: 1191

To resolve this issue follow the below steps.

Just delete the temporary files from the following.

  1. C:\Windows\Temp
  2. C:\Users\{yourAccountName}\AppData\Local\Temp
  3. C:\Windows\Prefetch

then

  • Uninstall Docker Desktop
  • Restart computer
  • Before installing Docker, make sure you have Ubuntu WSL (download from Microsoft store)
  • WSL2 Linux kernel update package for x64 machines for Windows enter image description here
  • [optional] If you need Terminal (multi-terminal) download from Microsoft Store
  • Install Docker Desktop again

Upvotes: 7

RoelDS
RoelDS

Reputation: 1147

The main problem is WSL2 does not auto install the kernel when WSL2 installs, yet Docker Desktop expects it already installed. So, fully close & stop Docker as other answers have said, then run this cmd as admin:

wsl --update

Now open Docker Desktop & it should start up ok.


edit: This answer should be unnecessary now, as Docker Desktop v4.22 shows this on first run, if it had to install WSL2 as part of its installation.

Docker Desktop - WSL kernel version too low

However,

I noticed it still hung again the next time, after I chose Quit & ran the update & Restart Docker. I had to then Quit Docker yet again, open yet again the app, & wait about 1 or 2 minutes for it to finish its initial startup ok. It may be faster on newer PCs, as mine for now is Win10 22H2 with only 4gb ram. I will test again on Win11 22H2 on newer PC, in few weeks.

Upvotes: 112

heyjon
heyjon

Reputation: 83

  1. Exit Docker first
  2. Execute code below in PowerShell:
wsl --unregister docker-desktop 
wsl --unregister docker-desktop-data
  1. Relaunch Docker Desktop and wait

This worked for me.

Found on https://debugah.com/solved-docker-forever-in-docker-is-starting-at-windows-task-714/

Upvotes: 1

yannis_t
yannis_t

Reputation: 29

On Windows 10 Pro (10.0.19045.3208)

After doing the following:

1.wsl --install from command prompt

2.Docker Desktop v4.22.0 installation

Starting Docker Desktop got stuck with message "Starting the Docker Engine"

Shutting down the machine and starting again fixed it.

Upvotes: 0

asvinp
asvinp

Reputation: 11

On Win 10 and reinstalling Docker is what helped.

Upvotes: 0

kapishreshth
kapishreshth

Reputation: 4098

This worked for me.

wsl --install -d Ubuntu

enter image description here

And no loss with pulled images. It's all retained. enter image description here

Upvotes: 0

Connell
Connell

Reputation: 14419

My fresh install was experiencing the same symptoms. Also wsl --list showed "no installed distributions". I tried many reinstallations and restarts of Docker and WSL, but eventually found the steps:

  1. In Task Manager, kill all processes related to Docker & Docker Desktop
  2. Run Docker Desktop as administrator

Got it working on on Windows 11 Enterprise.

Upvotes: 1

RafaelJan
RafaelJan

Reputation: 3606

As wrote here, you need to do:

wsl --update

But after that it doesn't fix my issue until I did restart to my pc.

Upvotes: 2

Bob
Bob

Reputation: 1

I am running windows 11, visual studio 2023 and had this issue.

First, open a command prompt and type

wsl.exe --list --online

Then enter following

wsl.exe --install Ubuntu-20.04

Then type in the prompt sudo apt update to update the distribution. Lastly, start up Docker desktop and log in (you can register at their site). That fixed Docker on my pc.

Upvotes: 0

Saurabh Khandagale
Saurabh Khandagale

Reputation: 53

wsl -v

if it show version then linx is install search windows programer feature in your laptop enable virtulization

wsl --set-default-version 2

restart laptop and then start docker and wait for 2 minutes your docker will start working

Upvotes: 0

Kiran karigoudar
Kiran karigoudar

Reputation: 41

enter image description here

  1. got to services and stop Docker desktop service and start again

  2. reopen Docker desktop it will work

Upvotes: 1

zona_comforta
zona_comforta

Reputation: 1

In my case it helped me to enable the CPU SVM (Support Vector Machine) function in my BIOS settings.

Also, if you have this feature disabled, you will not be able to use Virtual Box either.

SVM in BIOS

Upvotes: 0

for me it worked in windows (docker desktop):

  • to uninstall the docker
  • reinstall as administrator
  • don't select the part with wsl

Upvotes: 1

Abdi Haikal
Abdi Haikal

Reputation: 11

I was also having the same problem, just a few minutes ago.

Platform: Windows 10 Pro - 22H2 - Build 19045.2486

Windows Updates newly installed: KB5022282, KB5020876, KB5012170

What i did was: Activating the Windows Hypervisor Platform

And it did solve the problem, atleast for now

Upvotes: 0

Chuck
Chuck

Reputation: 1089

I use Docker with PyCharm. I ran into this problem when I launched PyCharm and Docker Desktop at about the same time.

On my machine Docker Desktop starts automatically when I boot. I can avoid the problem by waiting for Docker Desktop to finish starting. And then start PyCharm.

Upvotes: 0

Sakhri Samed
Sakhri Samed

Reputation: 51

Solved this issue with @Alvi answer Docker forever in "Docker is starting.." at Windows task

I guess you are using wsl2 features. In that case, open PowerShell or command prompt and type: optionalfeatures.exe

scroll down and uncheck

Windows Subsystem for Linux

apply the changes and restart your computer.

After restart follow the previous steps again and check

Windows Subsystem for Linux

and restart again. Hopefully now your docker will run

Upvotes: 5

Pete
Pete

Reputation: 61

For me, it was a problem with WSL. When I tried:

wsl --install -d Ubuntu

in a command window, after a few minutes I got error 0x80370114

The fix was to do:

  1. Exploit Protection > System Settings > Control Flow Guard
  2. turn on
  3. restart computer

Then reinstall/restart Docker Desktop, and it works!

Hope this helps someone else

Upvotes: 6

Mangesh Sathe
Mangesh Sathe

Reputation: 2175

I was facing same code for for Docker version 4.*. For me it was Visual Studio code,

  1. Stopped WSL form Task manager

  2. stopped Docker which was showing "Docker desktop is starting" form Task manage

  3. stopped Visual Studio code form Task manager

  4. Started Docker again

These steps placed my Docker in Running state in 30 seconds

Hope this helps someone!

Upvotes: 5

Retko
Retko

Reputation: 382

What worked for me was to log in into the Docker (upper right corner), but when I first clicked on login, it said "exec: "rundll32": executable file not found in %PATH%" - I search and found that I need to check environmental variable in PATH that I have "C:\WINDOWS\system32" there - (and in my case I really had it broken somehow - don't know why, but I missed backslash between Windows and system32). So I fixed to correct path, restarted PC. Then I was able to login. And immediately "Docker Desktop Starting..." was gone.

Upvotes: 0

Metafaniel
Metafaniel

Reputation: 30643

I've found out another symptom leading to the solution is also related to WSL.

On one side, Docker service won't start throwing this error:

error during connect: This error may indicate that the docker daemon is not running.: Get "http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version": open //./pipe/docker_engine: The system cannot find the file specified.

And on the other, WSL is unresponsive. Attempting to run a WSL Distro or WSL command directly on CMD, won't return any output at all. It will just hang in there.

So the solution is common to WSL and Docker. I've found in a question regarding the WSL issue, that the LxssManager Windows service is staled (it may show under services.msc as Stopping and all the buttons are greyed out, or I've even seen it Running apparently, but with the Docker and WSL issues above, so something is wrong with it still.)

First, we have to get LxssManager PID in order to kill it. Using an elevated shell, we can get it this way:

sc queryex LxssManager

Having the PID, we can kill the process but beware I wasn't able to kill it using kill or taskkill commands. I was getting the following error:

ERROR: The process with PID XXXXX could not be terminated.
Reason: Access is denied.

To effectively kill the process, do as following:

wmic process where ProcessID=XXXXX delete

Replace XXXXX with PID, of course. Having done so, start the LxssManager service:

net start LxssManager

A word of warning: I've noted in some cases this is not enough for unknown (to me) technical reasons even if LxssManager service is shown as Running. Just repeat the above steps! Sometimes it works doing this once, sometimes doing it twice for some reason.

TL;DR

  1. Kill LxssManager Windows service using wmic+PID.
  2. Start LxssManager service.
  3. Repeat twice or more if issues persist.
  4. Docker and WSL issues are solved.

Upvotes: 24

Related Questions