The docker client must be run elevated to connect - docker

When I am trying to built docker app, I am getting below error. Command I am running is docker build -t node_curd_exe .
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&session=h3q9gxeprezyco28agiqe9jp2&shmsize=0&t=node_curd_exe&target=&ulimits=null&version=1: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Anything else I can do ?

I have encountered this problem myself. My problem was that I had configured Docker Desktop to not run at startup. As long as Docker Desktop is not running, you will not have the Docker daemon running, hence the error.
Quickly check whether you have a white whale in your taskbar before trying any more exotic solutions.

Try this:
"Hardware assisted virtualization and data execution protection must be enabled in the BIOS"
Typically, this problem is due to a disabled Hyper-V or because the hypervisor agent is not running.
Open a Windows shell as administrator and enable Hyper-V with:
dism /Online /Enable-Feature:Microsoft-Hyper-V /All
Reboot your machine and see if Docker for Windows starts.
If the above doesn't work, open a Windows shell as administrator and enable the hypervisor with:
bcdedit /set hypervisorlaunchtype auto
If Docker for Windows is still not working properly, try the following additional solutions, which are based on instructions extracted from this Docker for Windows issue thread.
Reboot your machine and see if Docker for Windows starts.
Copy this path: Control Panel\Programs\Programs and Features into a File Explorer address bar.
Click Turn Windows feature on or off on the left side of the Control Panel.
Clear the Hyper-V check box in the list of Windows features.
Reboot your machine and start Docker for Windows (or reinstall if necessary). If the above doesn't work, then Virtualization Based Security (VBS) might be interfering and needs to be disabled. Try the following to disable VBS:
Open the Local Group Policy Editor (gpedit.msc)
Go to Computer Configuration\Administrative Templates\System\Device Guard
Disable VBS.

I had a similar issue : Docker Desktop was configured to run Linux containers but my Visual Studio project targeted Windows containers.
So after launching Docker, I right-clicked the whale (was red) in the taskbar's tray and selected the 'Switch to Windows containers' menu item.
An error message showed up talking about 'Deny write access for fixed drives not protected by Bitlocker' which was fixed by launching a regedit and putting a 0 for the following key : Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE\FDVDenyWriteAccess
Then repeating the tray action finally worked and the whale turned to white.

Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

try this on your CMD:
docker-machine create box
docker-machine env box
this issue still open

What solved in my case, on Windows 11, was to turn off Hypervisor and Windows Subsystem for Linux, reboot and turn on again.

Related

"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:
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
Removing 'Docker' and 'Docker Desktop' folders from AppData/Roaming and AppData/Local
Uninstalling and reinstalling Docker with different versions including 4.5.1
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.
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
Kill LxssManager Windows service using wmic+PID.
Start LxssManager service.
Repeat twice or more if issues persist.
Docker and WSL issues are solved.
Here i am using Windows platform, I faced this issue.
And to resolve this issue follow the below steps.
Just delete the temporary files from the following.
C:\Windows\Temp
C:\Users{yourAccountName}\AppData\Local\Temp
C:\Windows\Prefetch
then
Uninstall Docker Desktop
Restart computer
before installing docker, make sure you have Ubuntu WSL(download from Microsoft store)
[optional] If you need Terminal Preview(multi-terminal) download from Microsoft Store. Great Terminal
Install Docker Desktop Again
Thanks
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:
Exploit Protection > System Settings > Control Flow Guard
turn on
restart computer
Then reinstall/restart Docker Desktop, and it works!
Hope this helps someone else
I was facing same code for for Docker version 4.*. For me it was Visual Studio code,
Stopped WSL form Task manager
stopped Docker which was showing "Docker desktop is starting" form Task manage
stopped Visual Studio code form Task manager
Started Docker again
These steps placed my Docker in Running state in 30 seconds
Hope this helps someone!
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
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:
In Task Manager, kill all processes related to Docker & Docker Desktop
Run Docker Desktop as administrator
Got it working on on Windows 11 Enterprise.
for me it worked in windows (docker desktop):
to uninstall the docker
reinstall as administrator
don't select the part with wsl
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.
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.
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.
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
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
got to services and stop Docker desktop service and start again
reopen Docker desktop it will work
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
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.

Cannot start Hyper-V container

enter image description hereI am trying to run the docker container but I am getting below error message as Hyper-V and Virtualization is not enabled. But I have enabled Hyper-V and virtualization. I have made the Hyper-V set-up through Bios as well as through the power shell command even though getting this below error. Kindly help me!
Error message :
C:\Program Files\Docker\Docker\Resources\bin\docker.exe: Error
response from daemon: failed to start service utility VM
(createreadwrite): CreateComputeSystem
190e30a0debfc2e6f9eeedd4b1732593f80b2b478210faa5f92f8bc69c3a5686_svm:
No hypervisor is present on this system.
[Event Detail: Cannot start
Hyper-V Container
'190e30a0debfc2e6f9eeedd4b1732593f80b2b478210faa5f92f8bc69c3a5686_svm'
since the hypervisor is not running in the host. Provider:
17103e3f-3c6e-4677-bb17-3b267eb5be57 EventID: 12001]
(extra info: {"SystemType":"container","Name":"190e30a0debfc2e6f9eeedd4b1732593f80b2b478210faa5f92f8bc69c3a5686_svm","Layers":null,"HvPartition":true,"HvRuntime":{"ImagePath":"C:\Program
Files\LinuxContainers","LinuxInitrdFile":"initrd.img","LinuxKernelFile":"kernel"},"ContainerType":"linux","TerminateOnLastHandleClosed":true}).
See 'C:\Program Files\Docker\Docker\Resources\bin\docker.exe run
--help'.
In my case, I needed also an extra step which enabling the virtualization from the bios.
Open the bios
going to security => virtualization
Enable the two options (see image 01)
Restart
Make sure that the virtualization is enabled by running the task manager => Performance => down you should see virtualization enabled (see image 02).
Ps: Check also if the hyper-V and container are enabled from control panel => Programs and features => Turn Windows Features on or off
Make sure to enable all those features pointed by the arrow in the image
Also make sure to switch to Linux container by seeing this in the docker shortcut in the task manager bar (if you see this result image it means is switched on :)). This to prevent futures problems like in this link.
And then restart your system and restart the docker too.
Hope it will help.
As suggested from the support in a chat I tried to start Hyper-V from the Hyper-V-Manager and this failed. I found a solution for this following this post: https://superuser.com/a/1160635/777303
Basically running bcdedit from the cmd in admin mode showed me that hypervisorlaunchtype was set to off.
Running bcdedit /set hypervisorlaunchtype auto and rebooting solved the problem for me.
Try this:
https://www.jennerstrand.se/an-error-occurred-cannot-enable-hyper-v-service/
Basicly:
Disable Hyper-V
Enable Hyper-V
Try this:
Go to turn windows features on or off (if you write optionalfeatures in cmd you got that files)
There search for a file with the name windows hypervisor platform
Enable it.
Reboot.
Go to
Turn Windows features on or off
Enable
Containers
Reboot

Docker daemon is not running

Newbie in this area. I have installed the new version of Docker in my windows PC. I am using windows 10 Pro. I have tried the very basic docker command but it is not working. I have also run the docker as administrator. Getting the below error always
docker: error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/containers/create: open //./pipe/docker_engine: Zugriff verweigert In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
Doing an combination of following two things might help :
- Exit docker from tray (lower right hand of the windows desktop)
- Relaunch it as administrator (Start Menu --> Type "Docker" --> Right Click the icon --> "Run as Administrator"
Please see if you still get the error.
Seems to be related to the below issue:
I had the same issue - I was able to resolve the issue by running
power shell with Admin privs. I validated this was the same behavior
for running the commands via elevated cmd prompt. It also enabled
docker run hello-world command which was returning the error message
...Access is denied. In the default daemon configuration on Windows,
the docker client must be run elevated to connect. This error may also
indicate that the docker daemon is not running.
here
I did the following :
In windows you can go to the show hidden icon in the taskbar, hover your cursor on the docker icon and right click then a drop down menu will be shown and from that click restart.
press windows key + R
%appdata%\Docker
delete all the the files in the folder
killed the docker process in task bar.
try to open docker gui again.
check out this link if none of the above works, check out this link : Docker cannot start on Windows
check link : https://bobcares.com/blog/docker-error-response-from-daemon-i-o-timeout/
if nothing is work try to uninstall and reinstall the docker.
What worked for me:: First clicking on troubleshoot and then doing reset to factory defaults.
Warning: the existing containers will be gone
I got this error because my Docker Desktop was not running. Resolved by starting Docker Desktop.
If you don't have any WSL installed :
Ensure that the Hyper-V feature enabled, you can do this by searching "Turn Windows features On or Off".
Using Docker desktop, disable the option to "Use the WSL 2 based engine"(which is recommended, so only use if you don't have any WSL installed).Docker desktop settings
In case, Docker Deamon is still not running when using it for the first time, this video might help. I solved this issue by downloading WSL 2 file and installing it manually on my windows machine.
I also have the same error while i try to run docker, the problem in my case is i never install WSL2 linux kernal in my window. After installation my docker running well.
follow these steps to make your docker running well in windows.
First uninstall your current docker and make sure your window have the following features:
Hyper-V installed and working
Virtualization enabled in the BIOS
Hypervisor enabled at Windows startup
This link guide you to complete above steps
Now open this link to download the WSL 2 linux kernal pakage
After the installation of WSL 2 is done. Install your docker again, follow the instructions and it will work perfectly.
By simply opening the Docker on the desktop just
and restarting
the Docker, you can easily resolve it.
Open the troubleshoot of Docker and restart the docker as shown in this image.
Troubleshooting docker
I faced the same issue and what worked for me is
Navigate to the below link, download and install the Linux kernel update package (step4)
https://learn.microsoft.com/en-us/windows/wsl/install-win10#step-4---download-the-linux-kernel-update-package
Make sure to restart your system after installation
What worked for me:
Go to Docker Desktop > Troubleshoot (the bug icon) > Reset to factory defaults. All containers need to be pulled again from registry but was up again in no time.
Hope this works for someone!
Two things:
Run the docker as administrator
Run Powershell as administrator
and see the trick.
Step 1 - Enable the Windows Subsystem for Linux
Open PowerShell as Administrator (Start menu > PowerShell > right-click > Run as Administrator) and enter this command:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Step 2 - Enable Virtual Machine feature
Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Step 3 - Download the Linux kernel update package
WSL2 Linux kernel update package for x64 machine
Run the update package downloaded in the previous step
Step 4
Open PowerShell and run this command to set WSL 2 as the default version when installing a new Linux distribution:
wsl --set-default-version 2
Step 5
Restart you PC
note - Please enable Virtualization Technology from the boot menu its important
to check and verify: Go to taskmanager and click on the performance and see Virtualization enable or not.
enter image description here
Open Powershell and run bellow cmd:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
After installation of Docker connect to PowerShell as admin and run below command.
It will start the Docker service.
Step 1> cd "C:\Program Files\Docker\Docker"
Step 2> ./DockerCli.exe -SwitchDaemon
This thread was one of the first that I found, so wanted to compile some of the solutions I've found for various issues.
I am using Windows 11 & a first time docker install.
Issue 1: Docker desktop was 'stopped' and whenever I tried to run a package in the terminal I was getting a long message ending in: This error may also indicate that the docker daemon is not running.
Solution:
Follow the official steps on how to install WSL 2 at https://learn.microsoft.com/en-us/windows/wsl/install
Open PowerShell and run command:
wsl --update
Uninstall Docker.
Delete temporary data:
C:\Users<USER>\AppData\Roaming\Docker
C:\Users\ProgramData\Docker
C:\Users\ProgramData\DockerDesktop
Reinstall Docker, ensure wsl box is ticked during install.
Restart computer.
Run Docker as administrator.
Run PowerShell as administrator.
Run the following command:
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
If this doesn't work, you may need to run the above command one or two more times.
Issue 2: Docker desktop settings check box 'Use the WSL 2 based engine (Windows Home can only run the WSL 2 backend)' was greyed out and unchecked.
Solution:
Open: C:\Users<USER>\AppData\Roaming\Docker\settings.json
Change: "wslEngineEnabled": false to "wslEngineEnabled": true
Reinstall Docker & restart computer. (not sure if necessary.)
Run Docker as administrator.
Run PowerShell as administrator.
Run the following command:
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
If this doesn't work, you may need to run the above command one or two more times.
i tried numerous ways to solve this but i noticed that when my docker is not working, the Ubuntu app for windows shouldn't work also. As such after digging through numerous errors, i found that hypervisor launch is not enabled in my boot configuration (Windows). You can check if it is set to on using the command
bcdedit /enum | findstr -i hypervisorlaunchtype
if it is set to off, set it to auto
bcdedit /set {current} hypervisorlaunchtype Auto
now, if the docker issue is still not resolved, you can try switching the containers to ubuntu if it is not set yet, hope this helps.
I spent all day troubleshooting this exact issue (after a Windows 11 update, which a few other threads suggested might be the cause), and tried most things suggested in this thread.
What eventually worked was completely removing docker and WSL (guide here), rebooting, and reinstalling WSL then docker again.
Hope this helps someone else.
You can use cmd in centos 7
systemctl restart docker
Yes, suggested solution worked for me.
After installation of Docker connect to PowerShell as admin and run below command.
It will start the Docker service.
C:\Program Files\Docker\Docker/DockerCli.exe -SwitchDaemon

Docker installation issues on Windows 10 Home Edition

I am facing problem while installing the Docker on my machine. OS is Windows 10 Home Edition. I want to use Splash and that needs Docker.
Docker Toolbox ( Old Link ): https://www.docker.com/products/docker-toolbox
Now You can use Docker Toolbox from here: https://docs.docker.com/toolbox/overview/
Follow these steps to install Docker Toolbox: https://docs.docker.com/toolbox/toolbox_install_windows/#step-3-verify-your-installation
or:
https://docs.bitnami.com/containers/how-to/install-docker-in-windows/
Tutorial For Virtualization : https://www.tutorialspoint.com/windows10/windows10_virtualization.htm
First, check that your PC supports Hyper-V and you have Hyper-V enabled in BIOS. Windows Home does not allows to install some features/packages in GUI, but it's possible to add them from command line.
Make a file hyperv.bat file and run is at Administrator:
#rem Install Hyper-V on Windows Home
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause
Reboot computer after that. Then you need to trick the Docker installer to think you have Windows Pro: change your registry: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion and change EditionID from Core to Professional.
Instal Docker for Windows, change the registry back. And that's all.
See also https://xmedeko.blogspot.com/2019/04/running-docker-on-windows-10-home.html
I was able to install Docker on Windows 10 home edition by installing legacy Docker software called Docker toolbox and enabling the virtualization in my systems BIOS. Check this to follow the procedure: Installing Docker on Windows 10 home successfully
How to enable virtualization in your systems
Enable from BIOS
CPU virtualization is allowed only for 1 tool on Windows 10 Home. So, remove any other virtualization tool.
So, uncheck even Windows Hypervisor Platform in 'Turn Windows features on and off'
Disable Credential Guard as per https://learn.microsoft.com/en-us/windows/security/identity-protection/credential-guard/credential-guard-manage
This doesn't happens when the credential helper is run in 'Administrative mode', reason being that running scripts is disabled, we need to enable it
So, as per https://winaero.com/blog/change-powershell-execution-policy-windows-10/
Open 'Command Prompt' in 'Administrator' mode and type -
cd C:\Windows\System32\WindowsPowerShell\v1.0\
C:\Windows\System32\WindowsPowerShell\v1.0>Powershell.exe -ExecutionPolicy Unrestricted -File E:\software\dgreadiness_v3.6\DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot
After this, the system reboots and credential guard is disabled
If you don't want to go the Hyper-V way you can use Docker with WSL2(Windows Subsystem for Linux) for Windows 10 Home.
Go to Settings -> Update&Security -> Windows Insider Program and enroll for the 'Slow' track of windows insider.
Enable WSL from instructions given here https://learn.microsoft.com/en-us/windows/wsl/install-win10
Upgrade to WSL2 from here https://learn.microsoft.com/en-us/windows/wsl/wsl2-kernel
Download this version of Docker which supports WSL2 during installation itself :
https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe
Check the boxes to use WSL2 instead of Hyper-V.
If you install the latest Windows 20H1 update you can install Docker Desktop on Windows 10 Home.
c.f. https://www.codingnagger.com/2020/06/20/install-docker-desktop-on-windows-10/
Docker for Windows is available for
Windows 10 64-bit professional and
BIOS-enable virtualization
To run Docker, your machine must have a 64-bit operating system running Windows 7 or higher.
The home edition of Win 10 does not support virtualization but you can enable.
Click on the link https://www.itechtics.com/?dl_id=80 and download the batch file that enables the Hyper-V on Windows 10 Home.
Next, right-click on the batch file and select “Run as Administrator“. Keep in mind, you have to be connected to the Internet to enable this feature!
Once the installation is complete, RESTART your computer!
A Windows Features window will open up. Now, scroll down and enable all the checkboxes under Hyper-V, and hit the OK button.
Open the Start menu and search for “Hyper-V”. If Hyper-V is not showing up in the search results, then open the Run dialog using the Win+R key combo. Now, enter virtmgmt.msc and hit Enter.
The Hyper-V Manager window should now appear.
Now that Hyper-V is enabled, you may start creating your first virtual machine (VM).

Docker forever in "Docker is starting.." at Windows task

I have installed a Docker stable version, and it took forever to start.
Until now I have not seen the notification showing Docker is running.
I can only see the Docker icon at the taskbar, showing Docker is starting.
I am running on Windows 10 Pro, Intel Core 2 Duo E8500, supporting virtualization.
Important Note: As #Nachtalb said, "I think it should be noted that
this removes all docker containers and data. (WLS: Unregisters the
distribution and deletes the root filesystem)."
Thanks to https://github.com/docker/for-win/issues/7050, you should just run these two lines of commands inside PowerShell:
First, exit the docker hub desktop, then run these commands in PowerShell:
wsl --unregister docker-desktop
wsl --unregister docker-desktop-data
How to Fix Docker for Windows "Docker Is Starting..." Error
I stumbled upon the solution which turned out to be super simple!
When Docker installs on a Windows device it doesn't bother to check if your Operating System is Windows, not Linux! So, it tries to start up looking for Linux containers that do not exist. Just set it to run under Windows containers!!
SOLUTION
In the lower right-hand corner of Windows, in your Notifications/System Tray section, right-click the docker "whale" icon.
In the context menu that pops up, choose "Switch to Windows containers..."
This should unfreeze "Dockers for Windows" instantly! If it does not, close "Dockers for Windows" and open it again.
:) peace
Personally, the most non-destructive method for myself has been to use:
wsl --terminate docker-desktop
wsl --terminate docker-desktop-data
Close Docker Desktop GUI (cancel/close any error messages)
Start Docker Desktop again.
Docker then indicates its starting the wsl services during its start process and my issues are resolved.
Other methods (like register/unregister) tend to be much more destructive and I lose configuration/data/volumes.
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
This is followed by docker/for-win issue 487 and mostly: issue 482.
The Diagnose and Feedback menu should allow you to access the logs which are in:
%LOCALAPPDATA%\Docker\log.txt
It will generate a zip file with said logs and other information.
The default recommendation is:
Reset to factory defaults (from the whale menu, Settings, reset)
If that doesn't work, manually uninstall docker and download the latest installer from https://docs.docker.com/docker-for-windows/
But sometimes, all the options in the "Reset" pane are grayed out.
For testing, desactivating the AV (AntiVirus) is an option (again, just to be tested).
Check also the state of your Network adapater in the device manager.
If you have a third-party network product like a VPN (for instance https://www.zerotier.com/), try and uninstall it before restarting docker.
Resetting Hyper-V could help:
Go to "Turn Windows features on or off", disable all Hyper-V related features, reboot, then Docker should ask if it can enable and reboot for you.
Let it do that and see if it's fixed. If not I'd probably try manually re-enabling Hyper-V.
Similarly:
I had a problem with most recent version. I uninstalled it, removed all docker folders and server and virtual switch from hyper-v and then reinstalled and it worked.
Check if you don't have some IP address already in use.
Finally, you can perform some Hyper-V tests.
This is what worked for me. In my case, docker uses WSL 2 instead of Hyper-V.
Type optionalfeatures in Windows search and hit Enter
Scroll down to Hyper-V. This checkbox was selected for me.
Deselect the checkbox and hit OK
Let Windows finish disabling the feature. When completed, hit Restart now
After restart, docker will start automatically very quickly
I also ran into this "Docker is starting..." problem on Win10 Enterprise version 22H2 with Docker Engine v20.10.22
I tried all of the top-rated comments, including uninstalling and reinstalling Docker, running wsl --unregister docker-desktop and wsl --unregister docker-desktop-data, deleting the Docker and Docker Desktop folders from AppData\Roaming\ etc. However, none of the solutions worked.
Instead, what eventually worked was running wsl --update in PowerShell. Note: Docker Desktop was not running when I tried this.
Work for me in powersheell in 17/10/2018
It looks like Hyper-V didn't get installed correctly either
Try to remove them, then install manually to see if that helps. Make sure you run powershell as an admin
Disable-WindowsOptionalFeature -FeatureName microsoft-hyper-v -online
(wait, sometimes until now you have decided, if not, continue)
restart-computer
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
restart-computer
Enable-WindowsOptionalFeature -Online -FeatureName Containers -All
or
run MOFCOMP %SYSTEMROOT%\System32\WindowsVirtualization.V2.mof in powershell
restarting the Hyper-V Management service
UPDATE
Looks like in Docker for Windows version: 17.09.0-ce-win33 (13620) they fixed the problem
This is an annoying problem that docker for Windows has. The latests versions have minimized it a lot but it still happens.
Check if docker for Windows will start when windows starts (this is the default behavior) if not check it.
Shutdown the machine. No restart. Shutdown.
Everytime you find this problem just shutdown the machine. The next time Windows boot docker will start very fast.
I know it looks esoteric but it works.
TLDR;
I have made a video that demonstrates fixing this: https://youtu.be/NHfqxx12kRs
TL;
I have the following Build Info:
Edition Windows 10 Pro
Version 22H2
Installed on ‎1/‎9/‎2021
OS build 19045.2075
Experience Windows Feature Experience Pack 120.2212.3920.0
These steps worked for me.
Step 1: Quit Docker Desktop
If your Docker desktop is open, then Quit and exit out of docker desktop
Step 2: Turn Windows Features on / Off
Ensure the following as shown below
Step 3: Install Ubuntu terminal environment with WSL
Launch Microsoft Store and search for wsl or Ubuntu. Install latest version of ubuntu as shown in screenshot.
Step 4: Enabling Docker support in WSL 2 distros
Now, Enabling Docker support in WSL 2 distros as mentioned here. Simply run the following commands in windows terminal:
wsl.exe -l -v
wsl.exe --set-default-version 2
wsl --set-default Ubuntu-22.04
For me the console looks like this.
C:\Users\tutlinks>wsl.exe -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
docker-desktop Stopped 2
docker-desktop-data Stopped 2
C:\Users\tutlinks>wsl.exe --set-default-version 2
For information on key differences with WSL 2 please visit https://aka.ms/wsl2
The operation completed successfully.
C:\Users\tutlinks>wsl --set-default Ubuntu-22.04
C:\Users\tutlinks>wsl.exe -l -v
NAME STATE VERSION
* Ubuntu-22.04 Running 2
docker-desktop Running 2
docker-desktop-data Running 2
Step 5: Launch Docker desktop
Launch the Docker Desktop and wait for the engine to start.
Just solved this issue.
Not sure if it would help in your case but for me it was the PATH env variable that was not set up properly. Checking the diagnostics logs I was getting "powershell not found" and "docker not found" etc
The solution for me was to add everything to the PATH environment variable:
%SystemRoot%\system32; // Stuff like bash, wsl
C:\Windows\System32\WindowsPowerShell\v1.0; // powershell itself
C:\Program Files\Docker\Docker\resources\bin; // docker-compose etc
// edit
C:\Program Files\Docker\Docker\resources // docker itself
It might vary for your setup though
I had the same problem and nothing above helps.
I typed
bcdedit /set hypervisorlaunchtype auto
and after that I restart my PC. After that docker starts normally :) Finally.
Restarted Docker Desktop in Admin mode and it worked for me.
I solved the issue by installing linux-sub-system for win 11.
Open up PowerShell then run this command to see if you have installed already:
wsl -l -v
If you have this message:
Run this command:
wsl --install
then you will get list of valid distributions can be installed:
Choose your distro, in my case I used Ubuntu-20.04:
wsl --install -d Ubuntu-20.04
Also needed to switch to WSL 2
links that can help:
Windows Subsystem For Linux has no Installed Distributions Error Fix
Upgrade version from WSL 1 to WSL 2
For anyone on Windows 10 Home, what worked for me was running
wsl --update
Running wsl --status revealed the WSL 2 kernel file was missing from my machine and instructed me to enable the Receive updates for other Microsoft products when you update Windows option under
Settings > Update & Security > Advanced options
The same problem on Win 10 Pro 22H2 (Docker Desktop 4.16.1). For me the solution was to temporary switch to Windows container and then switch back to Linux containers.
Windows 11 Pro x64
I've tried it with Container and Hyper-V's not installed but it still didn't work.
I have Container and all the Hyper-Vs enabled then ran these 3 codes as Administrator in CMD in order one-by-one and it works:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
If your internet is running behind proxy - you should enter proxy settings in "Proxies" tab of docker's configuration window - that worked for me.
Go to Exploit Protection >Program Settings
Disable CFG of both
1.C:\Windows\System32\vmwp.exe
2.C:\Windows\System32\vmcompute.exe
For mine it works when I got Task Manager-> Startup->Disable Docker
Open Docker and it will run.
Case 1: If one was able to run docker successfully at the start and this "Docker Desktop Starting" is occurring suddenly after unexpected shutdowns or other interruptions, this could be fixed by switching between Linux and Windows containers.
'''
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchLinuxEngine
or
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchWindowsEngine.
For the first case, you can also try to stop and restart docker services or uninstall and reinstall the docker application.
Case 2:
If Docker is not starting from the first time installation, this could be because you're system does not support or enabled hyper-v.
Understand one thing that is hard to discover, just enabling wsl 2 as backend for docker isn't enough as wsl itself relies on hyper-v for execution.
So check if you're system has hyper-v feature, if yes then enable it.
If not, follow these steps to install hyper-v manually:
Download the hyper-v.bat file for windows 10
Link: https://drive.google.com/file/d/1QT536aZMYSSj7rp766pv4YLpQaLcnB1F/view?usp=sharing
2: Open the hyper-v.bat file and the terminal screen will be displayed installing all hyper-v features.
3: Restart you're PC and go to Windows Features, Enable the hyper-v feature.
After this run the docker application making sure that wsl2 is already installed and updated.
you're docker will be in a running state if you don't have hyper-v but you've installed and enabled hyper-v through these steps.
As hyper-v features are pre-installed in windows enterprise and above version, finding out that the root cause of docker not starting was the absence of hyper-v, took me nearly two days to research.
I tried most of the top answers with no solution. Ended up with uninstalling and reinstalling docker and it worked.
Tried all solutions presented here with no success. This is the only solution that worked for me (from issue 1825).
In PowerShell, run:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
I was struggling with this one and did all the steps mentioned above without success.
For me, it was that my BIOS required me to enable it through the motherboard's SVM option. Just make sure to restart your PC hit F2 or DEL and navigate and enable the SVM.
None of the existing answers work for me.
Go to Task Manager > Detail tab and kill every process that starts with wsl... (specially wslservice.exe)
I installed docker 4.16.2 and faced same issue. After following through many solutions, finally updating it to 4.16.3 works for me. Here's link to issue raised on official repo and solution suggested.
Comment providing 4.16.3 release candidate: https://github.com/docker/for-win/issues/13165#issuecomment-1405161605
Release Candidate (4.16.3 exe): https://desktop-stage.docker.com/win/main/amd64/96527/Docker%20Desktop%20Installer.exe
UPDATE
You can checkout official release here: https://docs.docker.com/desktop/release-notes/#4163
For me it was vmms service, that was disabled manually.
Check your ability to create virtual machines through powershell
Ctrl + Alt + Del => Task Manager => start up=> click on programs and click on disable => close task manager => Restart PC
If your docker takes forever to load the engine, just go to task manager and disable some running apps. It worked for me. Follow the steps
I got it working by:
stopping/killing everything in task manager that had the word "docker" in it.
unregistering all wsl2 distributions
install the WSL2 distribution I needed.
start docker desktop and wait about 5 minutes - success!
Powershell as admin:
wsl -l
Repeat for each distribution
wsl --unregister <name of distribution>
Install the one you require
wsl --install -d <name of distribution>
Enable VM platform and update wsl solve my issue:
Search turn Windows features on or off > tick Virtual Machine Platform checkbox
Run command prompt with adminstrator mode, and execute wsl --update
After restarting system, I am able to run docker.

Resources