Docker cannot start on Windows
DockerDocker DesktopDocker Problem Overview
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>
Docker Solutions
Solution 1 - Docker
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:
- Open Powershell as administrator
- Launch command:
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
OR, with cmd:
- Open cmd as administrator
- Launch command:
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
Solution 2 - Docker
I had the same problem.
Starting the docker daemon resolved the issue. Just search for docker pressing windows key and click on "Docker Dekstop". Daemon should be running in a minute.
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.
Solution 3 - Docker
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.
Solution 4 - Docker
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:
-
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.
Solution 5 - Docker
If you see docker desktop is STOPPED or Not Running screen at left side bottom, then do following
- Open PowerShell with – Run as Administrator
- Close Docker Desktop if it is open
- Execute the following command on PowerShell
“&
'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon”
- Open Docker Desktop, it will get started.
I was facing this issue. I tried the above-mentioned steps and it worked for me. Thanks!
Solution 6 - Docker
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 :)
Solution 7 - Docker
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.
- Go to Windows Start -> Search Box (Type here to search). There enter 'Services'. Among the listed items, click Services app.
- 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'.
- 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'.
- Double click 'Docker Desktop' icon in desktop. Now you will see 'Docker Desktop is running' in system tray.
- Now run the command 'docker version' from Command Prompt or PowerShell. It should give clean output.
- 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.
Solution 8 - Docker
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
-
Open "Window Security"
-
Open "App & Browser control"
-
Click "Exploit protection settings" at the bottom
-
Switch to "Program settings" tab
-
Locate "C:\WINDOWS\System32\vmcompute.exe" in the list and expand it
-
Click "Edit"
-
Scroll down to "Code flow guard (CFG)" and uncheck "Override system settings"
-
Start vmcompute from powershell "net start vmcompute"
-
Then restart your system
Solution 9 - Docker
1.- Open the location of the shortcut:
2.- Right click and properties and add "-SwitchDaemon" to destiny
3.- Give administrator permissions, advanced options:
4.- Restart windows.
Solution 10 - Docker
I have faced same issue, it may be issue of administrator, so followed below steps to setup docker on
> windows10
.
- Download docker desktop from docker hub after login to docker.
Docker Desktop Installer.exe
file will be downloaded. - Install
Docker Desktop Installer.exe
usingRun 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. - After install, go to -> computer management -> Local users and groups -> Groups -> docker-user -> Add user in members
- Run docker desktop using
Run as administrator
- Check docker whale icon in Notification tab
- run command >docker version Successfully using docker without any issue.
Solution 11 - Docker
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
Solution 12 - Docker
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:
-
Use command on cmd(Admin mode)
docker-machine restart default
-
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.
-
Go to the docker icon which will be on your windows tray (bottom right corner of the desktop)
-
Right click on the docker icon > Settings > Reset > Restart Docker
It will take few moments
-
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.
Solution 13 - Docker
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.
Solution 14 - Docker
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):
Solution 15 - Docker
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):
-
Find the whale in your system tray, and right click
-
Go to settings > Reset
-
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.
Solution 16 - Docker
Open C drive in powershell Or Git bash and run below command
.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon
Solution 17 - Docker
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.
Solution 18 - Docker
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.
- To check whether docker is running or not open PowerShell as administrator and run
docker run hello-world
.
Solution 19 - Docker
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.
Solution 20 - Docker
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.
Solution 21 - Docker
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
Solution 22 - Docker
In my case the WSL2 Linux-Kernel was missing, download, execute and restart:
https://docs.microsoft.com/de-de/windows/wsl/wsl2-kernel
Solved the problem.
Solution 23 - Docker
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
Solution 24 - Docker
That's worked for me on win10-home https://github.com/docker/for-win/issues/11967
- Shutdown your service docker
- Now execute this into the window command terminal
RMDIR /S %USERPROFILE%\AppData\Roaming\Docker
- Startup your service docker
- Now click on your "Docker Desktop"
The "Docker Desktop" will now runnig ... done ... :)
Solution 25 - Docker
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.
Solution 26 - Docker
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
Solution 27 - Docker
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:
- Open "Turn Windows features on or off"
- 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]
- Turn Hyper-V off (uncheck box, making sure all sub-components are marked as off)
- Hit "Ok" - and your machine will reboot.
- 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.
Solution 28 - Docker
For Installation in Windows 10 machine: Before installing search Windows Features in search and check the windows hypervisor platform and Subsystem for Linux
Installation for WSL 1 or 2 installation is compulsory so install it while docker prompt you to install it.
https://docs.microsoft.com/en-us/windows/wsl/install-win10
You need to install ubantu(version 16,18 or 20) from windows store:
After installation you can run command like docker -version
or docker run hello-world
in Linux terminal.
This video will help: https://www.youtube.com/watch?v=5RQbdMn04Oc&t=471s
Solution 29 - Docker
Make sure you have Hyper-V enabled, that was the problem in my case.
Solution 30 - Docker
For win10 I had the same issue:
error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/images/load?quiet=0: 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.
The docker service appeared to work. Restarting did not help. Running the binary from the installation directory as administrator helped.
In my case:
run as administrator -> C:\Program Files\Docker\Docker\Docker for Windows.exe
Solution 31 - Docker
For Windows - Open 'Docker for Desktop' --> Go on debug icon -> Click on 'Reset to factory defaults'
Solution 32 - Docker
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.
Solution 33 - Docker
Try running the following from an elevated command prompt:
SET DOCKER_CERT_PATH=C:\Users\[YourName]\.docker\machine\machines\default
SET DOCKER_HOST=tcp://[yourDockerDeamonIp]:2376
SET DOCKER_MACHINE_NAME=default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_TOOLBOX_INSTALL_PATH=C:\Program Files\Docker Toolbox
You might also find that even without setting those env variables, running commands from the docker quick start terminal works no problem.
Solution 34 - Docker
I run in to the same problem. I solved this by enabling hyper-v.
- Enable virtualization in BIOS
- Install hyper-v
Solution 35 - Docker
I too faced error which says
"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."
Resolved this by running "powershell" in administrator mode.
This solution will help those who uses two users on one windows machine
Solution 36 - Docker
Solved for me by running a docker desktop app, check-in notification. Setup if necessary.
$ net start com.docker.service
The Docker for Windows Service service is starting. The Docker for Windows Service service was started successfully.
$ docker version
$ net start com.docker.service
The requested service has already been started.
Solution 37 - Docker
with the recent update of docker, I had an issue which was docker app hanged at startup. I resolved this by terminating wsl.exe using taskmanager.
Solution 38 - Docker
Solution 39 - Docker
You need the admin privilege to run the service
I had a similar issue. The problem goes away when I run command prompt ( run as an administrator", and type " docker version".
C:\WINDOWS\system32>docker version
Client: Docker Engine - Community
Version: 19.03.8
API version: 1.40
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:23:10 2020
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.8
API version: 1.40 (minimum version 1.12)
Go version: go1.12.17
Git commit: afacb8b
Built: Wed Mar 11 01:29:16 2020
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: v1.2.13
GitCommit: 7ad184331fa3e55e52b890ea95e65ba581ae3429
runc:
Version: 1.0.0-rc10
GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd
docker-init:
Version: 0.18.0
GitCommit: fec3683
Solution 40 - Docker
Faced the similar issue, having installed docker desktop on a Windows VM, running on WSL2.
Solution:
Updated the Windows to latest build and VMTools to the latest(11.2) version, fixed the issue, now docker is running non-stop.
Solution 41 - Docker
The easiest way I fixed the issue is by terminating the docker desktop and restarting it again. If you see a blue-lit docker icon in the bottom left corner, then that means the docker daemon has started successfully, and the above error should be fixed.
Solution 42 - Docker
I had this issue, when am trying to create MySQL image using the command line
- To fix this I just wait for the Docker Desktop app to start and running correctly then I tried again.
Solution 43 - Docker
- Uninstall Docker in “Add or remove programs”
- Restart your computer
- Install Docker as Administrator (and not by running the installer directly)
- If the installer asks for a reboot, do it
Solution 44 - Docker
It may be because docker daemon has choosen linux and broken try switching to windows or linux by using this command Launch powershell using administrator and run below command
'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
Or open cmd prompt as administrator and rub below command
"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
Solution 45 - Docker
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)
Solution 46 - Docker
First, I downloaded docker for windows 10, OS Built 19042 and version 20H2, as shown in this video, but my docker was at the beginning stage. I run the docker with the command provided, but I got such an error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/version: open //./pipe/docker_engine: The system cannot find the file
Then, these solutions worked for me to start the docker:
- Open Powershell as administrator & run this command: 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
OR
- Open cmd as administrator & run this command: "C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon
I found this from here. Hope this helps you too!
Solution 47 - Docker
You can also use Self-diagnose tool
Docker Desktop contains a self-diagnose tool which helps you to identify some common problems. Before you run the self-diagnose tool, locate com.docker.diagnose.exe. This is usually installed in C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe.
To run the self-diagnose tool in Powershell:
& "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
The tool runs a suite of checks and displays PASS or FAIL next to each check. If there are any failures, it highlights the most relevant at the end.
Then run This command
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
Solution 48 - Docker
I am using window 10 and i performed below steps to resolve this issue.
- check Virtualization is enabled from taskmanager-->performance
- Restarted the docker service
- Install the latest docker build and restarted the machine.
- Make sure the docker service is running.
Above steps helped me to resolve the issue.
Solution 49 - Docker
After unsuccessfully trying everything from these answers I simply upgraded to Windows 11
(In my case: 19043.1237 -> 22000.258)
Solution 50 - Docker
You can start Kitematic when you get this error. It will display a button to reset the VM and will fix the issue.
Solution 51 - Docker
Be sure you start Powershell "as Administrator" that will also prevent the error you got from docker version
.
these hints will be probably outdated as of 2021:
Then try to start the docker service: start-service docker
If that fails delete the docker.pid file you will find with cd $env:programfiles\docker; rm docker.pid
Finally you should change HKLM:\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Virtualization\Containers\VSmbDisableOplocks
to 0
or delete the value.
Solution 52 - Docker
This is the final solution.. its works for me...!!
-
Find the whale in your system tray, and right click
-
Go to settings > Reset
-
Reset to factory defaults