I'm trying to setup docker with WSL 2 to run a Dockerfile. I downloaded Docker Desktop, and when I tried to follow the quick start guide, I got the following error:
docker: error during connect: This error may indicate that the docker daemon is not running.: Post "http://%2F%2F.%2Fpipe%d2Fdocker_engine/v1.24/containers/create?name=repo": open //./pipe/docker_enginer: The system cannot find the file specified.
I set com.docker.service to run in the Task Manager, and have run:
“c:\Program Files\Docker\Docker\DockerCli.exe” -SwitchDaemon
I have also quit Docker Desktop and reopened it in admin mode, and I still get the message that Docker Desktop has stopped.
Please let me know if there's any other options, thanks!
I managed to solve the problem in this way:
delete config file AppData/Roaming/Docker/settings.json
start Docker Desktop (it will create new default settings.json)
You need to re-configure settings, so it is also good idea to save the old settings.json and compare settings with the new one.
If you are running Docker Desktop for Windows 4.5.0 then you should be aware of an existing issue where the default backend selected after installing is not the correct one.
You can switch to the correct backend manually by editing the file located at: %AppData%\Docker\settings.json (full path: C:\Users\%UserName%\AppData\Roaming\Docker\settings.json) and at the bottom of the file change the value for the wslEngineEnabled field to true. After that Docker Desktop should start correctly.
Similar issue and solution is mentioned here by the user mccaa25.
latest version 4.5.0 It won't work for me too, for me downgrade to 4.4.4 it worked. It may be problem with the latest version
for released note and older version Here
Note: You can install an older version and update to latest version 4.5.0
Wow! I spent multiple days trying to get Docker for windows 11 to work. What finally did it was downgrading to version 4.4.4 as #GinglrBell recommended. Here's a link Docker version 4.4.4.
Make sure WSL is installed and virtualization is enabled. If you try to open WSL and you get an error telling you to enable virtualization in BIOS, run this command as Admin in powershell: bcdedit /set hypervisorlaunchtype auto (Docker src). Then restart your PC.
I hit this issue today, and the steps below are what worked for me - the gist is that I needed to install WSL 2 beforehand. Most of my steps were derived from here:
open powershell as admin
wsl -l -v # Windows Subsystem for Linux has no installed distributions
install linux kernel update from here # in my case, x64-based
wsl --set-default-version 2
wsl --list --online # shows several linux distributions, I picked a recent one
wsl --install -d Ubuntu-20.04 # then create default linux user name and password
install windows docker desktop from here # now starts successfully
Manged to switch to Windows Containers. (Docker v4.9.0)
What I did was to change the following in the settings.json:
"useWindowsContainers": true,
"wslEngineEnabled": true,
Also set security on folder:
C:\ProgramData\Docker (I set "Everyone" full control.)
After that I used the "Switch to Windows Containers"-feature from the task-bar icon content menu
I tried Janne Rantala's method.
But the same problem occurs again after several days.
My final solution is to uninstall Docker Desktop, then download and run the installation file as an administrator.
Then the problem no longer appears again.
I was able to resolve this issue on my machine by installing the Linux kernel update package as described in the Microsoft guide
I have been having some Docker setting up troubles for a fair amount of time. I think I had to just make sure I removed all references of Docker. After buying Windows 10 pro I still had issues, I did have to look into the following folders:
C:\Users\%UserName%\AppData\Local\Temp\Docker
C:\Users\%UserName%\AppData\Roaming\Docker
I also deleted the Docker file in my programfiles folder
Navigated to said file and deleted Docker files.
Used the docker installer, checkboxes (to use wsl2).
I was faicing the same issue and resolved. I have just open Microsoft Store application and after that opened the docker and its working fine. This is wired but sharing this so it might helps someone.
I solved this issue by enabling the windows feature "Windows Hypervisor Platform" and restarting my computer.
I installed Docker Desktop v4.16.2
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.