Docker ошибка при запуске windows

Executing docker version command on Windows returns the following results:

C:\Projects> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: 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.

Running the diagnostics produces the following:

C:\Projects> wget https://github.com/Microsoft/Virtualization- 
Documentation/raw/master/windows-server-container-tools/Debug- 
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex

Checking for common problems
Describing Windows Version and Prerequisites
 [+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
 [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
 [+] Is not a build with blocking issues 29ms
Describing Docker is installed
 [-] A Docker service is installed - 'Docker' or 'com.Docker.Service'  134ms
   Expected: value to not be empty
   27:         $services | Should Not BeNullOrEmpty
   at <ScriptBlock>, <No file>: line 27
 [+] Service is running 127ms
 [+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
 [+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
 [-] Do not have DisableVSmbOplock set to 1 53ms
   Expected: {0}
   But was:  {1}
   66:              $regvalue.VSmbDisableOplocks | Should Be 0
   at <ScriptBlock>, <No file>: line 66
 [+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: 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.
 [-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 129ms
   ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   at <ScriptBlock>, <No file>: line 90
Describing Container network is created
 [-] Error occurred in Describe block 1.08s
   RuntimeException: Cannot index into a null array.
   at <ScriptBlock>, <No file>: line 119
Showing output from: docker info

Showing output from: docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64

Showing output from: docker network ls

Warnings & errors from the last 24 hours
Logs saved to C:\Projects\logs_20161107-084122.csv
C:\Projects>

Lii's user avatar

Lii

11.6k8 gold badges65 silver badges88 bronze badges

asked Nov 7, 2016 at 6:46

Jim's user avatar

8

The error is related to that part:

In the default daemon configuration on Windows, the docker client must
be run elevated to connect

  • First, verify that Docker Desktop application is running. If not, launch it: that will run the docker daemon (just wait few minutes).

  • Then, if the error still persist, you can try to switch Docker daemon type, as explained below:

With Powershell:

  1. Open Powershell as administrator
  2. Launch command: & 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon

OR, with cmd:

  1. Open cmd as administrator
  2. Launch command: "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

answered Apr 6, 2020 at 15:00

veben's user avatar

vebenveben

19.9k14 gold badges61 silver badges80 bronze badges

15

Starting the docker daemon resolved the issue. Just search for docker by pressing the Windows key and clicking on «Docker Desktop». The daemon should be running in a minute.
enter image description here

After starting up Docker Desktop, make sure the docker daemon status in the bottom left is green and shows RUNNING when you hover over it.

ggorlen's user avatar

ggorlen

46k7 gold badges78 silver badges110 bronze badges

answered May 7, 2020 at 4:46

Pradeep Sanjeewa's user avatar

Pradeep SanjeewaPradeep Sanjeewa

1,9661 gold badge14 silver badges25 bronze badges

3

You can run "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon and point Docker CLI to either Linux or Windows containers. This worked for me.

Chloe's user avatar

Chloe

25.2k40 gold badges190 silver badges360 bronze badges

answered Mar 17, 2018 at 7:01

Jdoe's user avatar

JdoeJdoe

8936 silver badges3 bronze badges

3

Error Code:

error during connect: Get
http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version: 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.

Solutions:

1) For Windows 7 Command Window(cmd.exe), open cmd.exe with run as administrator and execute following command:

docker-machine env --shell cmd default

You will receive following output:

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\USER_NAME\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

Copy the command below and execute on cmd:

@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

And then execute following command to control:

docker version

2) For Windows 7 Powershell, open powershell.exe with run as administrator and execute following command:

docker-machine env --shell=powershell | Invoke-Expression

And then execute following command to control:

docker version

3) If you reopen cmd or powershell, you should repeat the related steps again.

answered Jun 14, 2017 at 6:54

javasenior's user avatar

javaseniorjavasenior

1,8062 gold badges24 silver badges26 bronze badges

4

If you see docker desktop is STOPPED or Not Running screen at left side bottom, then do following

  1. Open PowerShell with – Run as Administrator
  2. Close Docker Desktop if it is open
  3. Execute the following command on PowerShell
    “& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon”
  4. Open Docker Desktop, it will get started.

ggorlen's user avatar

ggorlen

46k7 gold badges78 silver badges110 bronze badges

answered Apr 26, 2021 at 5:44

Hanamant Jadhav's user avatar

1

I know this question was long ago but I found no proper explanation and solution, so hopefully, my answer is useful :)

Assuming you install Docker Toolbox on Windows, both docker and docker-machine commands will be available. Often, people get confused when to use either of these.

The docker commands are used only within a virtual machine to manage images. The docker-machine commands are used on the host to manage the Linux VMs.

So, please use docker-machine commands on your Windows machine. Use docker command inside your VM. To use the docker commands, for example, docker ps, you either can open Docker Quickstart Terminal or run these on your cmd/bash/PowerShell:

docker-machine run default /assuming default is your Linux VM/

docker-machine ssh default

This will start boot2docker and you will see the docker icon on the command line. Then you can use docker commands.

Good luck :)

answered Mar 1, 2018 at 1:34

Thinh Turbo's user avatar

1

1.- Open the location of the shortcut:

shorcut

2.- Right click and properties and add «-SwitchDaemon» to destiny

enter image description here

3.- Give administrator permissions, advanced options:

enter image description here

4.- Restart windows.

answered May 28, 2021 at 20:46

Manuel Larrota's user avatar

For me on Windows 11, editing %APPDATA%\Docker\settings.json to the following values and then restarting Docker Desktop did the trick (I am using WSL2, not Hyper-V):

enter image description here

answered Feb 11, 2022 at 18:20

ayunami2000's user avatar

ayunami2000ayunami2000

4416 silver badges10 bronze badges

Try resolving the issue with either of the following options:

Option A

Start-Service "Hyper-V Virtual Machine Management"
Start-Service "Hyper-V Host Compute Service"

or

Option B

  1. Open «Window Security»

  2. Open «App & Browser control»

  3. Click «Exploit protection settings» at the bottom

  4. Switch to «Program settings» tab

  5. Locate «C:\WINDOWS\System32\vmcompute.exe» in the list and expand it

  6. Click «Edit»

  7. Scroll down to «Code flow guard (CFG)» and uncheck «Override system settings»

  8. Start vmcompute from powershell «net start vmcompute»

  9. Then restart your system

KyleMit's user avatar

KyleMit

30.6k67 gold badges463 silver badges666 bronze badges

answered Jul 17, 2019 at 4:24

MayankGaur's user avatar

MayankGaurMayankGaur

95711 silver badges22 bronze badges

2

I got the same error for Docker version 19.03.12 and Windows 10. Resolved it by going through the below steps. Hope it helps others.

  1. Go to Windows Start -> Search Box (Type here to search). There
    enter ‘Services‘. Among the listed items, click Services app.
  2. Now search ‘Docker Desktop Service‘ in the Services window opened. Right click on it and Start the service. Its status should be changed to ‘Running‘.
  3. If step 2 gives error like ‘the dependency service failed to start‘, then start all dependency services. For me, I had to start a service called ‘Server‘.
  4. Double click ‘Docker Desktop‘ icon in desktop. Now you will see ‘Docker Desktop is running‘ in system tray.
  5. Now run the command ‘docker version‘ from Command Prompt or PowerShell. It should give clean output.
  6. If any issue in step 5, run Command Prompt or PowerShell as administrator.

Above resolution assumes Docker is already installed and Hyper-V / Virtualization is enabled in your system.

answered Sep 4, 2020 at 16:33

RLD's user avatar

RLDRLD

1,9073 gold badges15 silver badges20 bronze badges

2

I had the same issue in the terminal right after installation of Docker Desktop 4.7.1 running with WSL 2 backend. The tray whale icon was not showing either.

In my case the problem was that I already had a WSL distribution (Ubuntu) installed before and it has been the default. Docker Desktop with WSL 2 backend installs its own distribution called docker-desktop. And it has to be the default one (at least if not configured elsewhere).

So I had to run this command in PowerShell: wsl --setdefault docker-desktop and restart docker services. Found the solution here.

answered Apr 30, 2022 at 14:43

ivangretsky's user avatar

ivangretskyivangretsky

3082 silver badges9 bronze badges

0

I have faced same issue, it may be issue of administrator, so followed below steps to setup docker on

windows10

.

  1. Download docker desktop from docker hub after login to docker.Docker Desktop Installer.exe file will be downloaded.
  2. Install Docker Desktop Installer.exeusing Run as administrator -> Mark windows container during installation else it will only install linux container. It will ask for Logout after logging out and login it shows docker desktop in menu.
  3. After install, go to -> computer management -> Local users and groups -> Groups -> docker-user -> Add user in members
    enter image description here
  4. Run docker desktop using Run as administrator
    enter image description here
  5. Check docker whale icon in Notification tab
    enter image description here
  6. run command >docker version
    enter image description here
    Successfully using docker without any issue.

answered Nov 27, 2019 at 7:03

naveen dahiya's user avatar

1

if you are in windows try this

 docker-machine env --shell cmd default 
 @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

for testing try

docker run hello-world

answered Jan 26, 2018 at 13:09

RahulG's user avatar

RahulGRahulG

1,0281 gold badge15 silver badges27 bronze badges

If you have installed docker on Windows 10 Pro with Hyper-V enabled and you are still not able to run Docker on Windows 10, then, as the error suggests, your docker daemon is not started.

The following steps helped me to start docker successfully:

  1. Use command on cmd(Admin mode)

    docker-machine restart default
    
  2. Then you’ll get a message something like:

    open C:\User\\{User_name}\\.docker\machine\machines\default\config.json:
    The system cannot find the file specified.

  3. Go to the docker icon which will be on your windows tray (bottom right corner of the desktop)

  4. Right click on the docker icon > Settings > Reset > Restart Docker

    It will take few moments

  5. Then you’ll see the following message:

    Docker is running with the green indicator

Note: If you already had Docker containers running on your system, then don’t follow these steps. You may lose the existing containers.

enter image description here

KyleMit's user avatar

KyleMit

30.6k67 gold badges463 silver badges666 bronze badges

answered May 27, 2018 at 5:00

Prabhat Maurya's user avatar

1

Reason : one reason may cause because we shut down the vmmem by command

wsl --shutdown

Solution : Simple Restart the Docker by right-clicking will fix the problem.

enter image description here

answered Mar 23, 2021 at 9:01

mabdullahse's user avatar

mabdullahsemabdullahse

3,59425 silver badges23 bronze badges

3

The same issue arrived when I started with the docker in windows 10. I was able to run docker --version successfully but failed when I tried to run docker pull docker/whalesay.
I tried many things suggested in the answers over here but my issue was resolved when I followed the below steps:
1 . Search for docker in windows and run docker desktop as administrator.
2 . Check the bottom-left docker symbol it should be green if the docker is running.
3 . If it’s not running first install «wsl_update».
4 . Open the docker desktop and sign in with your docker credentials, when you are logged in you can see the server restarting and the bottom left logo turns green.
5. To check whether docker is running or not open PowerShell as administrator and run docker run hello-world.

answered Apr 9, 2021 at 4:57

raven404's user avatar

raven404raven404

1,0499 silver badges14 bronze badges

1

For me the issue was virtualization was not enabled.

On windows 10: Go to task manager -> Performance -> CPU and you should see as section as «Virtualization : Enabled»

If you do not see this option, it means that virtualization has not been enabled.

Another interesting thing to note is you must have Hyper V enabled. However as I was using parallels desktop, I had to enabled to «Nested Virtualization» for Hyper V to be «truly enabled». So if your windows is a VM, check out the settings for Parallels (or whatever you’re using) that nested virtualization is enabled.

answered Apr 30, 2017 at 13:50

Prasanth Louis's user avatar

Prasanth LouisPrasanth Louis

4,6682 gold badges34 silver badges47 bronze badges

I was getting same errors after an install on Windows 10. And I tried restarting but it did not work, so I did the following (do not recommend if you have been working in docker for awhile, this was on a fresh install):

1) Find the whale in your system tray, and right click

2) Go to settings > Reset

3) Reset to factory defaults

I was then able to follow the starting docker tutorial on the website with Windows 10, and now it works like a charm.

answered Jun 8, 2018 at 0:12

cela's user avatar

celacela

2,3733 gold badges21 silver badges43 bronze badges

2

Open C drive in powershell Or Git bash and run below command

.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon

answered May 26, 2020 at 7:21

Amit Kumar's user avatar

Amit KumarAmit Kumar

1,55314 silver badges11 bronze badges

0

My solution was pretty simple. I noticed that docker was running linux containers instead of windows containers. What i did is switch to windows containers by right clicking on the docker icon in the system tray and choosing Switch to Windows Containers.

answered Dec 13, 2020 at 10:59

briancoder's user avatar

briancoderbriancoder

1591 silver badge9 bronze badges

Delete the folder under %appdata%\Docker as indicated in Github issues

For quick access press Ctrl+R, paste «%appdata%\Docker» then Enter, it should open a folder located in AppData\Roaming\Docker (e.g. C:\Users\YourUsername\AppData\Roaming\Docker)

answered Feb 11, 2022 at 10:39

Karobwe's user avatar

KarobweKarobwe

3262 silver badges6 bronze badges

I am using Windows 7 with Docker Toolbox and to fix it just open
Docker Quickstart Terminal.

$ docker version Client: Version: 17.05.0-ce API version: 1.29
Go version: go1.7.5 Git commit: 89658be Built: Fri May 5
15:36:11 2017 OS/Arch: windows/amd64

Server: Version: 17.05.0-ce API version: 1.29 (minimum version
1.12) Go version: go1.7.5 Git commit: 89658be Built: Thu May 4 21:43:09 2017 OS/Arch: linux/amd64 Experimental: false

answered Jun 7, 2017 at 19:07

Xelian's user avatar

XelianXelian

16.8k25 gold badges99 silver badges152 bronze badges

1

I had the same issue lately. Problem was Security Software(Trendmicro) was blocking docker to create Hyperv network interface. You should also check firewall, AV software not blocking installation or configuration.

answered Jun 28, 2018 at 12:55

haltunbay's user avatar

haltunbayhaltunbay

6156 silver badges15 bronze badges

0

For me the error was resolved by stopping a virtual Ubuntu instance that’d been running in Hyper-V:

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.

Once Ubuntu instance had been stopped, and Docker Desktop had been restarted, my usual docker commands ran just fine.

PS: I had the idea to try this because of an Error Log that Docker Desktop had helpfully compiled and offered to send to Docker Hub as user feedback… the log appeared to indicate that my machine was short on RAM, and Docker was failing for this very simple reason. Killing the Ubuntu instance solved that.

answered May 22, 2019 at 10:39

olisteadman's user avatar

olisteadmanolisteadman

4426 silver badges12 bronze badges

If none of the other answers work for you, try this:
Open up a terminal and run:

wsl -l -v 

If you notice that there’s a docker-desktop left hanging in the ‘Installing’ state, close Docker, run powershell as adminstrator and unregister docker-desktop:

PS C:\WINDOWS\system32> .\wslconfig.exe /u docker-desktop

Restart docker and hopefully it works. If it doesn’t, try uninstalling docker first, then unregistering docker-desktop, and re-installing Docker.

Source: https://github.com/docker/for-win/issues/7295#issuecomment-645989416

answered Jun 27, 2020 at 2:24

Dave's user avatar

DaveDave

696 bronze badges

One of my friends was having a similar issue, we tried this and it worked.

Hyper-V, despite being listed under «Turn Windows features on or off» as being active, was not in fact active. This became apparent when running systeminfo under PowerShell, and seeing
that the requirements were listed as met (which is not the output you would expect were Hyper-V actually running).Steps:

  1. Open «Turn Windows features on or off»
  2. If you are not sure how to do this please refer
    https://www.howtogeek.com/250228/what-windows-10s-optional-features-do-and-how-to-[turn-them-on-or-off/][1]
  3. Turn Hyper-V off (uncheck box, making sure all sub-components are marked as off)
  4. Hit «Ok» — and your machine will reboot.
  5. When your computer starts up again, open «Turn Windows features on or off» and turn Hyper-V back on. Your machine will reboot again.

Now you can test by running docker hello-world image.

answered Oct 14, 2020 at 8:56

Supreet Singh's user avatar

After installing docker desktop into your pc (windows one). You may find up this location. What is actually does,? It starts the Docker Daemon via your CLI

"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

Smart Manoj's user avatar

Smart Manoj

5,2504 gold badges34 silver badges59 bronze badges

answered Oct 27, 2020 at 20:40

Dinuwan Kalubowila's user avatar

3

That’s worked for me on win10-home https://github.com/docker/for-win/issues/11967

  1. Shutdown your service docker
  2. Now execute this into the window command terminal
    RMDIR /S %USERPROFILE%\AppData\Roaming\Docker
  3. Startup your service docker
  4. Now click on your «Docker Desktop»

The «Docker Desktop» will now runnig … done … :)

answered Oct 27, 2021 at 21:24

udoline's user avatar

udolineudoline

1211 silver badge3 bronze badges

1

Comments

@stevenobird

  • I have tried with the latest version of Docker Desktop
  • I have tried disabling enabled experimental features
  • I have uploaded Diagnostics
  • Diagnostics ID: CEE7896D-A758-4E58-87F1-61F5D73B9549/20210419001522 (after a restart to «stable» state)
  • Diagnostics ID: CEE7896D-A758-4E58-87F1-61F5D73B9549/20210423174133 (after Windows startup in «unresponsive» state)

Actual behavior

Docker fails to start on Windows startup. This can be witnessed when the Docker icon in the taskbar tray stops animating without the «containers» shown on the icon. When trying to open the UI for Docker Desktop, it doesn’t even open or loads infinitely. Restarting the Docker Desktop.exe and the com.docker.service service fixes this issue — until the next Windows reboot.

Expected behavior

Docker Desktop starts and stays in an «operative» state

Information

  • Windows Version: Windows 10 Pro 20H2 - Build 19042.928
  • Docker Desktop Version: 3.3.1 (63152)
  • WSL2 or Hyper-V backend? WSL 2 based engine
  • Are you running inside a virtualized Windows e.g. on a cloud server or a VM: No
  • Kubernetes is not installed
  • Experimental Features are not shown in the UI, but seem to be enabled in the JSON under «Docker Engine» — a change and a reboot after that does not have any effects.
  • Addition (21st of April 2021): It seems that my WSL 2 environment seems to take some more time at Windows startup to be ready. That might be a cause for this problem, or is a follow-up problem

I am using Docker solely in my WSL 2 environment which has an Ubuntu 20.04 installed.
Checking error log files in %localappdata%\Docker\log.txt seem not to hint at anything I could work with:

[02:10:38.196][GoBackendProcess ][Info ] msg=»accepted data connection on unix:\\.\pipe\dockerVpnkitData»
[02:10:38.203][GoBackendProcess ][Error ] msg=»error accepting multiplexer data connection: The pipe is being closed.»
[02:10:38.203][GoBackendProcess ][Info ] msg=»listening on unix:\\.\pipe\dockerVpnkitData for data connection»
[02:10:38.203][GoBackendProcess ][Info ] msg=»DNS: UDP server has connected»
[02:10:38.203][GoBackendProcess ][Warning] msg=»ignored error: EOF»

[02:10:58.682][VpnKitBridge ][Error ] msg=»windows: ssh-auth: cannot compute local path of service. Is the VM vpnkit-bridge out-of-sync with the host?»
[02:10:58.682][VpnKitBridge ][Error ] msg=»windows: osxfs-data: cannot compute local path of service. Is the VM vpnkit-bridge out-of-sync with the host?»

[02:11:01.124][VpnKit ][Error ] vpnkit.exe: Starting to watch : EINVAL
[02:11:01.124][VpnKit ][Error ] vpnkit.exe: Failed to watch hosts file : invalid argument

[02:11:01.128][VpnKit ][Error ] vpnkit.exe: While watching /etc/resolv.conf: ENOENT

[02:11:01.135][VpnKit ][Error ] vpnkit.exe: Pipe.listen: caught (Failure «Failed to connect vmnet device»)

Steps to reproduce the behavior

  1. Start Windows and wait Docker Desktop and Docker service to start and run
  2. See Docker being in an unoperative state (Docker commands do not work, etc.)
abrueck, BlowaXD, odinnou, CampariJenkins, veertien, wesleymusgrove, alexjustus, cuivienor, nicomollet, lstorka, and 67 more reacted with thumbs up emoji

@abrueck

I habe the same problem, since some days:

  • Windows Version: Windows 10 Pro 20H2 — Build 19042.928
  • Docker Desktop Version: 3.3.1
  • WSL2 or Hyper-V backend? WSL 2 based engine
  • Are you running inside a virtualized Windows e.g. on a cloud server or a VM: No
  • Diagnostics ID: 60E75FB0-7B8D-4333-83B1-B75108000EBD/20210419044416

The first days restarting the com.docker.service service fixes this issue. But now I must go to the Troubleshooting menu in Docker Desktop an «Clean / Purge data» for WSL2. After that, Docker works again, but only until the next restart.

I tried to reinstall WSL2 and also turn off fast startup in Windows, but this does not solve the problem.

The output of «wsl -l -v» after a restart is:

  NAME                   STATE           VERSION
* Ubuntu                 Running         2
  docker-desktop-data    Stopped         2
  docker-desktop         Stopped         2

The docker icon in the taskbar not showing «the small container».

rbalaine, Nehagarde, CPTechnikVX, code32, chlillelund, lawern, BlowaXD, stevenobird, martyglaubitz, veertien, and 25 more reacted with thumbs up emoji

@jsomhorst

Same here

Windows Version: Windows 10 Pro 10.0.19041 Build 19041
Docker Desktop Version: 3.3.1
WSL2 or Hyper-V backend: WSL 2 based engine
Are you running inside a virtualized Windows e.g. on a cloud server or a VM: No

Similar to Abrueck. When I clean/purge data the WSL2 engine starts and everything seems to work again.

@rbalaine

Same thing for me since 3.3.1 using Hyper-V. Cleaning data also solve the issue.

Here is my Diagnostics ID if it can help: 1D7DFA7F-F9AD-4393-9DEE-920993A35CC7/20210420110952

This was referenced

Apr 20, 2021

@CPTechnikVX

I had the same problems with 3.3.1 using WSL2.

Downgrading to 3.2.2, Reset to factory defaults and updating to 3.3.1 fixed it for me.

@chlillelund

@CPTechnikVX Is it fixed permanently? The same procedure worked for me, but only until I rebooted the computer. Now, when I try to start Docker it hangs again. I then have to go back and reset to factory or purge, before I can start Docker

@CPTechnikVX

@CPTechnikVX Is it fixed permanently? The same procedure worked for me, but only until I rebooted the computer. Now, when I try to start Docker it hangs again. I then have to go back and reset to factory or purge, before I can start Docker

@chlillelund Unfortunately, I have the same behaviour. After a reboot it’s broken again and I can’t reach «Troubleshoot» anymore :-( But that happened only after I started using kubernetes again. No idea if there is a connection.

@MSaracusti

It seems to be an issue with WSL2. I had to disable from Windows Features, uninstall docker, restart, install docker again but at the moment it asks to deploy WSL2 I unchecked this and it worked. So I can confirm there is an issue with WSL2 and docker desktop for Windows. Do you know guys who should to report this bug?

@stevenobird

@CPTechnikVX

I tried adding the following lines to my .wslconfig file

[wsl2]
guiapplications=false

but Docker started successfully only once. I don’t think the changes made it work once. The proposal does not seem to solve my problem.

@CPTechnikVX

I am one step further. I found out that Docker only starts for me when I am connected to the company via VPN (domain controller?). I have disabled autostart, connect via VPN first after login and then start Docker. With version 3.2.x it still ran without VPN. No idea if that helps narrow down the cause.

@12trey

mrmadhat, cameronpresley, todd-sprang-aamva, jasdheer, awesomelike, maifeeulasad, jamesmoessis, aoirint, BroLabsOfficial, AndroidDoctorr, and allandequeiroz reacted with thumbs up emoji
ahallora and adhadse reacted with thumbs down emoji
todd-sprang-aamva, liemng, TalalBafarat, awesomelike, and maifeeulasad reacted with hooray emoji
Chapi15, 8BitSensei, and Msaghu reacted with confused emoji
maifeeulasad and cypherix93 reacted with heart emoji
maifeeulasad reacted with rocket emoji

@flopes89

Same issue for me, even downgrading to 3.3.0 didn’t help.
Even if Docker Desktop starts up, at some point after that it will lose the connection somehow and is not able to restore it. I then have to purge all data and redeploy all containers and hope they work as expected. (all HpyerV Backend, no WSL whatsoever)

Diagnostic ID 9128567D-5F64-415B-AEC3-AC20E97D3825/20210422134148

Also; when this happens and I run docker container ls e.g. from CMD it shows Error reponse from Daemon: i/o timeout

I found the following line in the log which confuses me. I have neither WSL2 installed nor have I checked the «use WSL2» checkbox in docker.

Why is it trying to use it?

[15:49:36.484][GoBackendProcess  ][Info   ] GET failed with Get "http://unix/forwards/list": open \\.\pipe\dockerWsl2BootstrapExposePorts: Das System kann die angegebene Datei nicht finden.

Edit; I got it running after some purges and what I noticed is in the log the following lines are just repeating every couple of seconds. As I said, I don’t use WSL2 and I do not have any VPN connections on the machine.

[16:26:36.658][GoBackendProcess  ][Info   ] GET failed with Get "http://unix/forwards/list": open \\.\pipe\dockerWsl2BootstrapExposePorts: Das System kann die angegebene Datei nicht finden.
[16:26:36.658][GoBackendProcess  ][Info   ] msg="external: GET /forwards/list 200 \"Go-http-client/1.1\" \"\""
[16:26:36.658][ApiProxy          ][Info   ] msg="proxy << GET /v1.40/containers/json?all=true (2.8309ms)\n"
[16:26:36.659][ApiProxy          ][Info   ] msg="proxy >> GET /v1.40/images/json\n"
[16:26:36.659][VpnKitBridge      ][Info   ] msg="error CloseWrite to: Die Pipe wird gerade geschlossen."
[16:26:36.662][ApiProxy          ][Info   ] msg="proxy << GET /v1.40/images/json (1.619ms)\n"
[16:26:36.662][VpnKitBridge      ][Info   ] msg="error CloseWrite to: Die Pipe wird gerade geschlossen."
[16:26:36.670][ApiProxy          ][Info   ] msg="proxy >> GET /v1.40/containers/json?all=true\n"

@geokaps

I am one step further. I found out that Docker only starts for me when I am connected to the company via VPN (domain controller?). I have disabled autostart, connect via VPN first after login and then start Docker. With version 3.2.x it still ran without VPN. No idea if that helps narrow down the cause.

As @CPTechnikVX indicated above, I too have found that if I connect to my company’s VPN first, then Docker Desktop will start and appears to run normally. I can also confirm that version 3.2.x started and ran fine without the VPN being connected. Because I’m not on a team version, when 3.2.x is installed, it is automatically upgraded to 3.3.1 on the next reboot and the problem comes right back.

Also, when not connected to the VPN, the Docker Desktop (3.3.1) Settings Screen has a spinner on it that loads forever.

The support/diagnostics screen is able to load and I was able to register a successful diagnostic. This is in the «broken» mode where I’m not connected to the VPN and docker desktop will not successfully load:
Diagnostics ID: D02CCEDE-9F66-403C-8750-365AE8E7959B/20210422135409

Hope this helps.

@sassner

I’m having the same issue. Version 3.2.2 will start and keep running, but I can’t stop it from updating to a higher version.
3.3.0 and higher will only start (even immediately after a complete re-install) after resetting to factory settings. After any restart it fails again.
I’m also getting the error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json: open //./pipe/docker_engine: The system cannot find the file specified. error from the cli.

From what I can tell there are two background processes that aren’t starting: com.docker.proxy.exe and com.docker.wsl-distro-proxy.exe. After resetting to factory defaults these start up and everything works as expected.

Diagnostics Id: 08966A9E-4F41-4FBC-B95C-F3F994876D15/20210422233159

This was referenced

Apr 23, 2021

@LyleDavis

@stevenobird

Restarting the Docker Desktop.exe and the com.docker.service service fixes this issue — until the next Windows reboot.

could you expand on this? I have restarted the Docker Desktop.exe and also restarted the service with pwsh admin Restart-Service com.docker.service but it doesn’t seem to fix the issue for me — though everything else seems exactly as you describe.

@stevenobird

@stevenobird

Restarting the Docker Desktop.exe and the com.docker.service service fixes this issue — until the next Windows reboot.

could you expand on this? I have restarted the Docker Desktop.exe and also restarted the service with pwsh admin Restart-Service com.docker.service but it doesn’t seem to fix the issue for me — though everything else seems exactly as you describe.

That’s really the only two steps I do to temporarily fix the issue.
I stop Docker Desktop.exe with the Task Manager under «Details» tab and switch to «Services» tab to restart com.docker.service (which should be similar to doing it with Powershell). After that, I manually open up Docker Desktop.exe again and everything boots up as it should.

@LyleDavis

@stevenobird

Restarting the Docker Desktop.exe and the com.docker.service service fixes this issue — until the next Windows reboot.

could you expand on this? I have restarted the Docker Desktop.exe and also restarted the service with pwsh admin Restart-Service com.docker.service but it doesn’t seem to fix the issue for me — though everything else seems exactly as you describe.

That’s really the only two steps I do to temporarily fix the issue.

I stop Docker Desktop.exe with the Task Manager under «Details» tab and switch to «Services» tab to restart com.docker.service (which should be similar to doing it with Powershell). After that, I manually open up Docker Desktop.exe again and everything boots up as it should.

Hmm, that doesn’t seem to work for me but if I go into the troubleshooting part of the docker desktop app and purge hyperv data it forces a restart of the docker service and boots up again, keeping my wsl2 images etc because it’s using the WSL2 engine instead.

It could just be me not doing the Windows service restarts right etc, but it’s an easier workaround anyway tbh.

@stevenobird

@stevenobird

Restarting the Docker Desktop.exe and the com.docker.service service fixes this issue — until the next Windows reboot.

could you expand on this? I have restarted the Docker Desktop.exe and also restarted the service with pwsh admin Restart-Service com.docker.service but it doesn’t seem to fix the issue for me — though everything else seems exactly as you describe.

That’s really the only two steps I do to temporarily fix the issue.

I stop Docker Desktop.exe with the Task Manager under «Details» tab and switch to «Services» tab to restart com.docker.service (which should be similar to doing it with Powershell). After that, I manually open up Docker Desktop.exe again and everything boots up as it should.

Hmm, that doesn’t seem to work for me but if I go into the troubleshooting part of the docker desktop app and purge hyperv data it forces a restart of the docker service and boots up again, keeping my wsl2 images etc because it’s using the WSL2 engine instead.

It could just be me not doing the Windows service restarts right etc, but it’s an easier workaround anyway tbh.

And there’s my problem: Docker Desktop is unresponsive/hanging so I can’t even get to the troubleshooting part. 😅 That’s why I take my described steps in the first place.

@LyleDavis

@stevenobird

Restarting the Docker Desktop.exe and the com.docker.service service fixes this issue — until the next Windows reboot.

could you expand on this? I have restarted the Docker Desktop.exe and also restarted the service with pwsh admin Restart-Service com.docker.service but it doesn’t seem to fix the issue for me — though everything else seems exactly as you describe.

That’s really the only two steps I do to temporarily fix the issue.
I stop Docker Desktop.exe with the Task Manager under «Details» tab and switch to «Services» tab to restart com.docker.service (which should be similar to doing it with Powershell). After that, I manually open up Docker Desktop.exe again and everything boots up as it should.

Hmm, that doesn’t seem to work for me but if I go into the troubleshooting part of the docker desktop app and purge hyperv data it forces a restart of the docker service and boots up again, keeping my wsl2 images etc because it’s using the WSL2 engine instead.
It could just be me not doing the Windows service restarts right etc, but it’s an easier workaround anyway tbh.

And there’s my problem: Docker Desktop is unresponsive/hanging so I can’t even get to the troubleshooting part. 😅 That’s why I take my described steps in the first place.

Ah interesting! For me, the docker desktop settings page hangs and is unresponsive, but I’m able to access the troubleshooting tab! I hope it’s fixed soon, I keep on ranting and raving to people at work at how good the WSL2 workflow is instead of virtualbox and then this happens 🤣

@stevenobird

Ah interesting! For me, the docker desktop settings page hangs and is unresponsive, but I’m able to access the troubleshooting tab! I hope it’s fixed soon, I keep on ranting and raving to people at work at how good the WSL2 workflow is instead of virtualbox and then this happens 🤣

Got it working now. Double click on the icon in the taskbar makes it indeed working so I can finally send diagnostics that are in an «unresponsive» state.

Diagnostic ID: CEE7896D-A758-4E58-87F1-61F5D73B9549/20210423174133

@veertien

What worked for me now (twice) is to sign out of Windows and then sign back in again.

@shochdoerfer

I seem to have a similar problem. I need to purge all data to make Docker start again and be useable in WSL2 after a reboot. I am using version 3.3.1 of Docker Desktop. I upgraded a few weeks ago to 3.3.1 and had no issues so far. The problem appeared just a few days ago. The only thing that changed recently is, that I installed the KB4023057 Windows update. After that, the problem started to occur.

@pbois34

The solution «stop Docker Desktop.exe with the Task Manager under «Details» tab and switch to «Services» tab to restart com.docker.service » works for me, but I also noticed that if I wait several minutes after logging to my PC before starting docker desktop (I disabled automatic start) it works too (but then ,sometimes, docker takes 5 minutes to achieve start. It seemes relatated to com.docker.proxy.exe ) Docker for windows is a good product but at almost every update I encounter problems.

@Shr3ps

Same problem here. Windows starts, Docker doesn’t, no tray icon, nothing. Task manager shows Docker Desktop and Docker.Service running, with Docker Desktop Backend showing up for a fraction of a second ever few minutes. When I run Docker Desktop from the exe or the shortcut (even as Admin, still the same), I instantly get a window popup with «Docker failed to initialize The operation had timed out.» without any hanging or anything, just instant popup.

I’ve tried killing and restarting all the processes I can find, tried uninstall/reinstall, tried downgrading all the way back to 3.5.0, re-installed the Linux package, made sure Virtual Machine Platform and Windows Subsystem for Linux are both checked, checked bios to make sure all virtualizations are enabled.. Everything was working fine yesterday evening, wont work now. I also tried running docker commands from the cli but it says the daemon isn’t running. I tried to run it manually but «dockerd» isn’t a recognized command. Also tried «DockerCli.exe -SwitchDaemon» and that does nothing. Multiple, shutdowns, reboots and logouts also do nothing. I’m out of ideas at this point.

I got this too with Docker v4.0 & v4.1. I had to rollback/clean install v3.3.0, seems to be the only version working fine on my Windows 10 :'(

@herbat73

Here is what helped me with Docker Desktop 4.1.1 (69879) on Windows Pro 10

  1. Make sure you have Instaled WSL 2 backend

Open powershell as administrator
Type as command

wsl.exe --install -d Ubuntu

Set Ubuntu version wsdl 2

wsl --set-version Ubuntu 2

Set wsl to as default version 2

wsl --set-default-version 2

  1. Enable VirtualMachinePlatform

Open powershell as administrator
Type as command

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

  1. Install Docker Docker Desktop (4.1.1)

  2. Run Docker Desktop and make sure you have dockeker desktop settings

image

  1. Restart

@dougbreaux

Man, I still never got this to work again, even after complete uninstall/reinstall, including purge data and manually delete AppData. Uninstalled again. Going to Rancher Desktop + nerdctl

@davidhoelzel

What was working for me, after several re-installs:

  1. Remove Docker Desktop from autostart
  2. (Re-)Boot up Windows
  3. Manually Stop Docker Desktop Service
  4. Optionally connect to your VPN
  5. Manually Start Docker Desktop Service
  6. Start Docker Desktop
  7. Wait for 30(!) Minutes
    => Docker Desktop is running

Still using Hyper V Backend, wsl2 has too many issues (https://github.com/Microsoft/WSL/issues). More occupied with repairing things in windows than actually developing.

Technical Masterpiece…
WSL2 Backend is crappy as hell, alone due to ext4 issues when your are shutting down your PC to fast (not that we have any control over that in Windows).
If I were not forced to develop on windows, I never would use this. Oh, wait, this costs money now? What for exactly?

@spyro2000

Same here (since half a year or so). Having to restart WSL2 completely which forces docker to restart. Before that I can’t communicate with any container.

@dodgyd

Hi All
Almost certainly a different issue but we were unable to get 4.5.0 to start on Windows 11 (we only tried Win 11)
We had to install 4.4.4 instead.

@Tylerpfarris

@dodgyd Hey experiencing the same issue.

@dodgyd

@Tylerpfarris I saw that 4.5.1 is out now but I have held of updating from 4.4.4.
I have not had any issues with 4.4.4

My issue was docker would not start at all.

@Tylerpfarris

@aestrro

Hello All,

How I have fixed this issue is by ensuring that:

  • The WSL 2 docker-engine was running inside of Ubuntu 20.04
  • The docker daemon has been started.
  • «Use the WSL 2 based engine» was checked in Docker Desktop.

After that, essentially restarting the docker desktop was all I needed to get my environment working again.

@gregwiechec

@dodgyd I had a similar problem. The tool stopped working after updating to version 4.5.1. Instead of downgrading to 4.4.4, I tried using the new version 4.6.0. It worked.

@CraignRush

Same issue here with newest docker-desktop (4.6.1 (76265)). How i got it working again:

  1. Close all docker-related processes via the task manager
  2. Purge the settings.json file C:\Users\USERNAME\AppData\Roaming\Docker
  3. Startup Docker as normal user again

For me neither pre-configured containers nor their settings or data got lost.
Hope this helps you guys!

@digitalle

So….. If you’re upgrading, as I just did from an old Docker desktop from about 3-4 years ago and hit a brick wall — test if you were running Windows containers as it appears that this does something kooky with your Hyper-v and kinda sets it, and the upgrade wants to default to Linux containers which for me was throwing the error. When I switched to Windows containers the Docker started working (stopped and restarted ) — Hope that helps (Btw, now on: Docker version 20.10.14, build a224086)

@benloeffel

Started my second attempt to upgrade Docker Desktop to the current version 4.7.1 and ran into the same issue once again. Docker won’t start, and none of the above fixes worked for me. The only solution was to revert to version 4.4.4 which works flawlessly.

@lorenzulrich

Just for the record, in my case the file at %AppData%/Roaming/Docker/locked-directories was corrupt. Deleting it made Docker startup work again. The problem was mentioned in %AppData%/Roaming/Docker/log/hostcom.docker.backend.exe.log, it just took me a while to find this error message.

@sachiotomita

Purge the settings.json file C:\Users\USERNAME\AppData\Roaming\Docker
CraignRush

removing settings.json worked for me.
even when running Docker desctop

@TrickSantos

Just for the record, in my case the file at %AppData%/Roaming/Docker/locked-directories was corrupt. Deleting it made Docker startup work again. The problem was mentioned in %AppData%/Roaming/Docker/log/hostcom.docker.backend.exe.log, it just took me a while to find this error message.

This worked for me

@grenudi

Purge the settings.json file C:\Users\USERNAME\AppData\Roaming\Docker
CraignRush

removing settings.json worked for me. even when running Docker desctop

Same, I removed settings.json and locked-directories

@carbonrider

Docker desktop is failing to start after upgrading to 4.9.1. I tried removing settings.json and locked-directories but nothing worked. Totally clueless as there is not relevant reason as why it is failing.

@noxidsoft

C:\Users\USERNAME\AppData\Roaming\Docker
and delete settings.json file. start docker desktop again

@carbonrider

C:\Users\USERNAME\AppData\Roaming\Docker and delete settings.json file. start docker desktop again

As mentioned in my comment, it didn’t work. I upgraded to Docker Desktop 4.10.0 and it started working fine.

@benloeffel

Started my second attempt to upgrade Docker Desktop to the current version 4.7.1 and ran into the same issue once again. Docker won’t start, and none of the above fixes worked for me. The only solution was to revert to version 4.4.4 which works flawlessly.

Upgraded to Docker Desktop 4.12.0 today and the application launches successfully. 🙌

@Chapi15

This solved it for me.

#1825 (comment)

DockerCli.exe -SwitchDaemon

Did Docker start after you used this command ? Or did it take some time ? From what I’ve seen it takes between 30 min and 1 hour

@PrimeDominus

I just downloaded it again and installed it on top of my current installation and it worked.

@docker-robott

There hasn’t been any activity on this issue for a long time.
If the problem is still relevant, mark the issue as fresh with a /remove-lifecycle stale comment.
If not, this issue will be closed in 30 days.

Prevent issues from auto-closing with a /lifecycle frozen comment.

/lifecycle stale

@docker-robott

Closed issues are locked after 30 days of inactivity.
This helps our team focus on active issues.

If you have found a problem that seems similar to this, please open a new issue.

/lifecycle locked

@docker
docker

locked and limited conversation to collaborators

May 6, 2023

I am a new to Docker. After the installation of Docker Toolbox (OS: Windows 10) I run Docker Quickstart Terminal and in the console I see this:

Running pre-create checks...
Error wirh pre-create check: "Hyper-V is installed. VirtualBox won't boot a 64bits VM when Hyper-V is activated. It it's installed but deactivated, you can use --virtualbox-no-vtx-check to try anyways"
Look like something went wrong in step 'Checking if machine default exists'...
Press any key to continue...

What did I do wrong? All checking of system and install steps are taken from here.

Thank you very much for your help!

Moshisho's user avatar

Moshisho

2,8111 gold badge23 silver badges40 bronze badges

asked Apr 27, 2016 at 9:39

Denis  Starkov's user avatar

Denis StarkovDenis Starkov

8151 gold badge6 silver badges10 bronze badges

7

Hyper-V and VirtualBox are conflicting each other.

You can either uninstall Hyper-V or run

docker-machine create -d virtualbox --virtualbox-no-vtx-check test

Source

answered Apr 27, 2016 at 9:49

ArgonQQ's user avatar

4

Docker supports Hyper-V as the driver

You need to perform the following steps:

  • Create a virtual switch, refer to this article on how to do that

  • Create a docker machine using that network switch and hyper-V driver.

    docker-machine create -d hyperv --hyperv-virtual-switch "name of the virtual switch created above" default
    

phuclv's user avatar

phuclv

38.2k15 gold badges157 silver badges477 bronze badges

answered Sep 5, 2016 at 6:10

curiousgeek's user avatar

curiousgeekcuriousgeek

8466 silver badges11 bronze badges

4

I got the same error when I installed Docker Toolbox on my Windows 10 machine.

Solution:

  1. Install Docker Community Edition (not Docker Toolbox)
  2. Enable Hyper-V

Open Control Panel -> System and Security -> Programs (left panel) -> Turn Windows features on or off -> Check the Hyper-V box

As of 2017’s Win 10, if you don’t have Hyper-V option, then your Windows OS is not Enterprise Edition. Also, Docker seems to work a lot better on Intel processors (not AMD).

  1. Add C:\Program Files\Docker\Docker\resources\bin to Path in Environmental Variables.
  2. Open Git Bash and type docker-compose up and now that command should work.

If you don’t have GitBash, please download it.

phuclv's user avatar

phuclv

38.2k15 gold badges157 silver badges477 bronze badges

answered Nov 22, 2017 at 18:01

Gene's user avatar

GeneGene

10.9k1 gold badge66 silver badges58 bronze badges

1

I was having the same issue, and this blog post solved it. The author runs you through the steps of adding the --virtualbox-no-vtx-check flag to the docker shell script.

Virtualbox and Hyper-V don’t play well together. I am NOT the author.

answered Jun 28, 2016 at 21:58

cph2117's user avatar

cph2117cph2117

2,6511 gold badge28 silver badges41 bronze badges

0

I set the Hyper-V off using windows feature on off and it worked for me.

answered Aug 25, 2017 at 9:09

ScarletAndGray's user avatar

1

See if when you run:

docker-machine create -d hyperv --hyperv-virtual-switch "Virtual Switch" default

you get Error with: pre-create check: "Hyper-V PowerShell Module is not available"

If so just enable in Docker(icon on your desktop)->settings->expose daemon on TCP …

JuanCrg90's user avatar

JuanCrg90

1,00613 silver badges24 bronze badges

answered Jun 26, 2018 at 14:27

shiraz lavi's user avatar

1

You need to disable Hypervisor to check new application that use VT-x before the virtual machine launch:

  1. Open the command prompt as Administrator

  2. Run bcdedit to check hypervisor status:

  3. Check hypervisor launch type.

  4. If is set to auto then disable it:

    bcdedit /set hypervisorlaunchtype off 
    
  5. Reboot host machine and launch VirtualBox again

After performing above steps I opened again Docker Quickstart terminal and it is working fine.

double-beep's user avatar

double-beep

5,04617 gold badges33 silver badges41 bronze badges

answered May 28, 2020 at 15:12

Suresh V's user avatar

I pressed the Windows Button on keyboard. Typed ‘Hyper-V Manager’. It opened the ‘Hyper-V Manager’. Then I right clicked on my machine name. There was an option to ‘stop’. I selected this option. It stopped the ‘Hyper-V’ on my machine and then Kitematic worked fine, i.e., it download the hello-world-nginx and displayed the web page.

NOTE: This is strange and I am not sure why. Once I have done above steps, now when I restarted the Hyper-V using Hyper-V Manager, Kitematic is still working and downloading images. Can anybody comment why it is now still working when Hyper-V is also running ? Thank you.

Good
Ali Ahsan

answered Dec 15, 2018 at 11:18

Muhammad Ali Ahsan's user avatar

The solution as suggested by @Gene is correct and works perfectly if:

  1. One has windows pro edition
  2. Both Hyper-V Management Tools and Hyper-V Platform are enabled

Sometime this isn’t always the case; here is what to do:

Check Windows Edition:

To check which version right click on Windows key and select System.
Scroll down to Windows specifications and look at [Edition]

Check Hyper-V Platform (virtualisation)

For Hyper-V Platform to be enabled one must turn on virtualisation; normally this is done via the BIOS.

On HP laptop one this is done from the BIOS.

  • On start-up click Ctrl+F10
  • Press the right arrow key to System Configuration tab.
  • Select Virtualization Technology and then press the Enter key.
  • Select Enabled and press the Enter key.

Once these steps are done then:

  1. Search for Turn Windows features on or off.
  2. Scroll down to Hyper-V
  3. Tick this box (Ensure you see a tick NOT a black box which indicates some features not enabled)

Upon restart docker should be running… good luck !!

answered Aug 16, 2019 at 19:06

Ithar's user avatar

ItharIthar

4,9254 gold badges39 silver badges40 bronze badges

Issue

Docker Desktop will not start after Install or an upgrade with an error Docker engine failed to start.

Docker Desktop version: 3.5.1 (66501)
Windows Version: Windows 10 20H2

Opening Docker Desktop will start with this state
docker_desktop_not_starting_1

After sometime it will get into this state
docker_desktop_not_starting_5

Error Details

The possible error screens and messages. Typically it comes as a pop-up when the Docker fails.
docker_desktop_not_starting_4

docker_desktop_not_starting_3

Docker.ApiServices.StateMachines.InvalidTransitionException:
Cannot stop from an unstable state at Docker.ApiServices.StateMachines.UnstableState.Docker.ApiServices.StateMachines.IInternalEngineState.BeginStopAsync() in C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\UnstableState.cs:line 36
at Docker.ApiServices.StateMachines.EngineStateMachine.d__15.MoveNext() in C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:line 78
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Docker.Engines.Engines.d__26.MoveNext() in C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.Desktop\Engines\Engines.cs:line 264

docker_desktop_not_starting_2

See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.

************** Exception Text **************
System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified
at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo)
at Docker.Core.Cmd.Run(String filename, String arguments) in C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.Core\Cmd.cs:line 36
at Docker.Backend.Processes.WindowsDockerDaemon.TryToStartService(Settings settings, String args, Dictionary2 env) in C:\workspaces\PR-16070\src\github.com\docker\pinata\win\src\Docker.Backend\Processes\WindowsDockerDaemon.cs:line 200 at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ActionExecutor.<>c__DisplayClass6_1.<GetExecutor>b__0(Object instance, Object[] methodParameters) at System.Web.Http.Controllers.ReflectedHttpActionDescriptor.ExecuteAsync(HttpControllerContext controllerContext, IDictionary2 arguments, CancellationToken cancellationToken)
— End of stack trace from previous location where exception was thrown —
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at System.Web.Http.Controllers.ApiControllerActionInvoker.d__1.MoveNext()

Analysis

Tried following the steps to fix the issue

  • Restart Docker Desktop that helps most of the time
  • Windows reboot, welcome to the world of Microsoft
  • Next uninstall, Reboot and Re-Install Docker Desktop (This cleared all the image cache)

None of the steps helped solving the issue. I started investigating the logs and the two windows services responsible for the docker to function properly. This could be verified by executing services.msc from windows run prompt.

docker_desktop_not_starting_services
I noticed the Docker Engine services missing and I picked up the service details from a working machine. I have listed for reference.

  • «C:\Program Files\Docker\Docker\com.docker.service»
  • «C:\P/r/ogram Files\Docker\Docker\resources\dockerd.exe» —run-service —service-name docker -G docker-users —config-file C:\ProgramData\DockerDesktop\tmp-d4w\daemon.json

Opened a powershell window and tried to execute the second service mentioned above and it threw an error the panic.log file access is denied.
docker_desktop_not_starting_powershell

I opened the log file and noticed similar access denied error.
docker_desktop_not_starting_panicerror

Solution

Method 1

Open the following path in run prompt %ProgramData%/Docker and I renamed the panic.log file name to panic_old.log and tried opening the Docker desktop that will fix the issue.

Method 2

Do method one and try to execute the command in powershell and then open the Docker Desktop.
«C:\Program Files\Docker\Docker\resources\dockerd.exe» —run-service —service-name docker -G docker-users —config-file C:\ProgramData\DockerDesktop\tmp-d4w\daemon.json

Method 3

This issue is specific to version 3.6 where they fixed a vulnerability.
Remove the read only flag for the panic.log file in the following location %ProgramData%/Docker.
Ref:
https://nvd.nist.gov/vuln/detail/CVE-2021-37841
docker_engine_not_starting_permission

The issue might reappear after a system reboot. Delete the panic.log file and startup again. I will post if I find a permanant solution.

Update 9/7/2021:

Relase 4.0 has fixed the access issue.

Fixed a bug when switching from Linux to Windows containers due to access rights on panic.log
https://docs.docker.com/desktop/windows/release-notes/

Credits

Thanks for sharing their issue and possible fixes.
https://sitecorechat.slack.com/archives/C5VQ5SVKJ/p1629125020133400

https://twitter.com/longhorntaco
https://twitter.com/maartenwillebr1
https://twitter.com/techphoria414
https://stackoverflow.com/users/11822466/gskkc

Subscribe to Bala Blog (bala.one) | Sitecore MVP | Sitecore | OrderCloud | Coveo | Azure

Get the latest posts delivered right to your inbox

Docker Desktop is an extremely popular development tool that developers, DevOps, and others can use to run Docker containers and Kubernetes on their local development workstations. However, if you have the Docker Desktop starting forever Windows 11 error, we will look at workarounds to help fix Docker startup errors, including Docker Desktop is starting.

Table of contents

  • What is Docker Desktop?
  • Docker Desktop installer
    • Running the installer
    • Setting the WSL2 option
    • The installation begins
    • Docker desktop installed successfully
  • Docker Desktop Starting Forever Windows 11
  • Perform a clean boot
  • Often, this issue occurs when the system requirement isn’t met
    • What if your system doesn’t meet the requirements?
  • Switch to the Windows containers
    • Switching to Windows containers
  • Re-enable the Windows Subsystem for Linux (WSL) feature
    • Disabling and reenabling WSL
  • Unregister Docker Desktop
    • Process to unregister docker desktop
  • Use Windows PowerShell to fix Docker Desktop stuck on starting
  • Uninstall the tool completely and then install running as administrator
  • Disable Docker at Startup
  • Disable and re-enable the WSL feature
  • Make sure your virtualization capabilities are working correctly
    • AMD CPUs
    • Error message
  • Docker Desktop Starting Issues on AMD CPUs
    • SVM Mode
    • Nested Virtualization
    • Update System BIOS
    • Ryzen Master Utility
  • Hyper-V Related Errors
  • Windows PowerShell Not Working Correctly
  • Related posts
  • Wrapping up

What is Docker Desktop?

Docker Desktop is an innovative tool that allows developers to package software into standardized units called containers. These containers can run libraries and other dependencies, making it easy to build, test, and run modern applications on various operating systems, such as Windows 10 and 11.

When installing Docker on your operating system, Docker Desktop uses the Hyper-V backend for the virtualization hypervisor.

However, many users encounter the “Docker Desktop Starting Forever” error in Windows, causing frustration and delays in their workflow. In this post, we’ll explore some solutions to fix this issue.

NAKIVO

Docker Desktop installer

Let’s look at the process to install Docker Desktop in Windows. After downloading the installer, run the .exe. You will see a UAC prompt most likely.

Running the installer

Click Yes to run the installer.

Setting the WSL2 option

You will see the options on the configuration. You will be asked to Use WSL 2 instead of Hyper-V (recommended) and add a shortcut to the desktop.

The installation begins

After that, the Docker Desktop installation will begin.

Docker desktop installed successfully

Docker Desktop is successfully installed. After the successful installation, you will be directed to close and log out. This will log you out of Windows.

Perform a clean boot

A clean boot is one of the first steps to resolve the Docker Desktop Starting Forever error. A clean boot ensures that only essential services and programs are running, which may help identify and resolve conflicts with Docker Desktop.

1. Type msconfig in the Run dialog box and hit Enter.

2. Navigate to the Services tab and check “Hide all Microsoft services.”

3. Click “Disable all” and then go to the Startup tab.

  1. Open Task Manager, disable any unnecessary startup programs, click the Windows button and select restart your computer.

After restarting, open Docker Desktop and check if the issue persists.

Often, this issue occurs when the system requirement isn’t met

Another reason for the Docker Desktop Starting Forever error in Windows 11 or 10 could be unmet system requirements.

To ensure smooth operation, verify that your PC meets the minimum requirements for running Docker Desktop. You can find the system requirements on the Docker documentation page.

What if your system doesn’t meet the requirements?

If your system doesn’t meet the minimum requirements, consider upgrading your hardware or installing the latest version of Docker compatible with your PC.

Switch to the Windows containers

By default, Docker Desktop uses Linux containers. However, some Windows devices may face issues when using the Linux option, resulting in the Docker Desktop Starting Forever error message.

Switching to Windows containers

To resolve this, switch to Windows containers:

  1. Locate the Docker system tray icon and right-click on the whale icon.

  2. Select “Switch to Windows containers” from the context menu.

After switching, Docker Desktop should start normally. If you encounter the same problem, proceed with troubleshooting.

Re-enable the Windows Subsystem for Linux (WSL) feature

The Windows Subsystem for Linux (WSL) is an essential component of Docker Desktop. Sometimes, disabling and re-enabling the WSL feature can resolve the Docker Desktop Starting Forever issue.

Disabling and reenabling WSL

1. Type optionalfeatures in the Run dialog box and hit Enter to open the Windows Features dialog.

2. Uncheck “Windows Subsystem for Linux” and click “OK.”

3. Restart your computer, reopen the Windows Features dialog, and re-enable the WSL feature.

Unregister Docker Desktop

Unregistering Docker Desktop can help fix startup errors by clearing any corrupt or conflicting data.

Process to unregister docker desktop

1. Open Windows PowerShell as an administrator.

2. Type wsl –unregister docker-desktop and hit Enter to unregister Docker Desktop.

3. Restart your computer and launch Docker Desktop.

You can also uninstall Docker Desktop and then reinstall Docker desktop. Also, check the Docker desktop version you are installing to make sure you have the latest.

Use Windows PowerShell to fix Docker Desktop stuck on starting

In some cases, using Windows PowerShell to stop and restart the Docker service can fix the Docker Desktop Starting Forever error:

1. Open Windows PowerShell as an administrator.

2. Type Stop-Service docker and hit Enter to stop the Docker service.

3. Type Start-Service docker and hit Enter to restart the Docker service.

If the above steps haven’t resolved the issue, try uninstalling Docker Desktop and perform a fresh install:

1. Open the “Apps & features” page in Windows Settings.

2. Locate Docker Desktop, select “Uninstall,” and follow the prompts.

3. Download the latest Docker Desktop installer from the official website.

4. Right-click on the installer and select “Run as administrator” to begin the installation. You may need to accept any user account control prompt messages

Disable Docker at Startup

Another way to fix the Docker Desktop Starting Forever error is to disable Docker at startup and then manually start it:

1. Press Ctrl + Shift + Esc to open Task Manager.

2. Navigate to the “Startup” tab, locate Docker Desktop, right-click, and select “Disable.”

3. Restart your computer.

After restarting, manually start Docker Desktop by double-clicking the Docker Desktop icon on your desktop or searching for it in the Start menu.

Disable and re-enable the WSL feature

If the Docker Desktop Starting Forever error still persists, try disabling and re-enabling the WSL feature once more:

  1. Open the Run dialog box, type optionalfeatures, and hit Enter to open the Windows Features dialog.

  2. Uncheck “Windows Subsystem for Linux” and click “OK.”

  3. Restart your computer, reopen the Windows Features dialog, and check “Windows Subsystem for Linux.”

Once the WSL feature is re-enabled, attempt to relaunch Docker Desktop.

Make sure your virtualization capabilities are working correctly

In some systems, Hyper-V may not be functioning or enabled correctly. Check your BIOS settings to ensure virtualization is enabled.

AMD CPUs

If you are running an AMD CPU and are running a VMware workstation with nested virtualization enabled, there is a known issue where you can’t run virtualization on the host and VM simultaneously.

Error message

Below is an error message I received when running Windows 11 nested in VMware Workstation. The AMD host (threadripper CPU) had virtualization enabled on the host operating system.

I received the following message when trying to launch Docker on the VMware Workstation VM. If you run into issues enabling CPU virtualization on your VMware Workstation VMs, you will have issues running Docker Desktop inside them.

Docker Desktop Starting Issues on AMD CPUs

Docker Desktop starting issues are not exclusive to users with Intel processors; those using AMD CPUs can also face similar challenges.

In some cases, the problems may be caused by the specific features and configurations of AMD processors, which can affect the operation of Docker Desktop. Here are a few insights and possible solutions to address these issues.

SVM Mode

SVM Mode: For Docker Desktop to function correctly on AMD CPUs, the virtualization feature known as Secure Virtual Machine (SVM) must be enabled. This feature can be found in your BIOS settings.

Make sure to access your BIOS and enable SVM mode if it is not already active. Each motherboard may have a different BIOS layout, so refer to your motherboard’s manual for detailed instructions on enabling SVM mode.

Nested Virtualization

Nested Virtualization: Some AMD processors support nested virtualization, which allows you to run a virtual machine inside another virtual machine. However, this feature may cause conflicts with Docker Desktop. To resolve this issue, ensure that nested virtualization is disabled in your BIOS settings or that you are using a stable Docker Desktop version compatible with nested virtualization on AMD CPUs.

Update System BIOS

Update System BIOS: Older BIOS versions may not be fully compatible with the latest AMD CPUs or may have issues related to virtualization.

In such cases, updating your system BIOS to the latest version can help resolve Docker Desktop starting issues. Visit your motherboard manufacturer’s website for instructions on how to update your BIOS safely.

Ryzen Master Utility

Ryzen Master Utility: Some users have reported that the Ryzen Master Utility, a software tool provided by AMD for monitoring and overclocking Ryzen processors, may cause conflicts with Docker Desktop.

If this utility is installed, try uninstalling or disabling it before starting Docker Desktop.

Hyper-V is a critical component for running Docker Desktop on Windows, as it provides the necessary virtualization support.

If you’re experiencing issues with Docker Desktop taking forever to start, there may be Hyper-V-related errors. Here are some solutions to troubleshoot and fix these errors:

  1. Enable Hyper-V: Ensure that Hyper-V is enabled on your system. You can do this by going to “Turn Windows features on or off” in the Control Panel, and checking the “Hyper-V” option.

  2. Check BIOS settings: Some hardware configurations might disable virtualization in the BIOS. Make sure to enable virtualization in your BIOS settings.

  3. Restart Hyper-V services: Restarting the Hyper-V services can help resolve issues related to Docker Desktop. Open an elevated PowerShell window and run the following commands:

net stop vmms net start vmms
  1. Reset Docker’s virtual switch: If the issue persists, Docker’s virtual switch may have been corrupted. You can reset it using the following PowerShell commands:

Remove-VMSwitch -Name "DockerNAT" -Force New-VMSwitch -Name "DockerNAT" -SwitchType NAT -NATSubnetAddress "10.0.75.0/24"
  1. Reinstall Docker Desktop: If none of the above solutions work, consider uninstalling Docker Desktop. Close Docker. Once you have uninstalled Docker, reboot your system, and reinstall the latest version of Docker Desktop.

Windows PowerShell Not Working Correctly

Windows PowerShell is essential for Docker Desktop to function properly on Windows machines. If PowerShell is not working correctly, Docker Desktop might get stuck at the “starting” phase. Here are some possible solutions to resolve the issue:

  1. Run PowerShell as Administrator: Ensure you’re running PowerShell with administrative privileges. Right-click on the PowerShell icon, and choose “Run as Administrator.”

  2. Update PowerShell: Older versions of PowerShell might not be compatible with Docker Desktop. Check if you’re using the latest version of PowerShell and update it if necessary.

  3. Unblock PowerShell scripts: Some scripts may be blocked if you’ve recently installed Docker Desktop. To unblock the scripts, open an elevated PowerShell window and execute the following command:

Get-ChildItem -Path 'C:\Program Files\Docker\Dockerresources' -Recurse | Unblock-File
  1. Reinstall Docker Desktop: If the above steps don’t resolve the issue, uninstall Docker Desktop, reboot your system, and reinstall the latest version of Docker Desktop.

Wrapping up

The Docker Desktop Starting Forever error in Windows 11 or 10 can possibly be resolved by following the steps outlined in this blog post. Remember to check your system requirements, perform a clean boot, switch to Windows containers, re-enable the WSL feature, unregister Docker Desktop, use Windows PowerShell to fix the issue, reinstall Docker Desktop as an administrator, disable Docker at startup, or disable and re-enable the WSL feature.

By following these solutions, you can quickly return to running your Docker containers and enjoy the benefits of standardized units for your software packages.

  • Docker desktop is unable to detect a hypervisor windows 10
  • Docker на windows или linux
  • Docker desktop installation failed windows 7
  • Docker для windows server 2012
  • Docker desktop is shutting down windows 10