docker cannot start on windows

docker cannot start on windows



Executing docker version returns the following results.


docker version


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:Projectslogs_20161107-084122.csv
C:Projects>





i get this mumbo jumbo when attempting to run the diagnostics: drive.google.com/uc?id=0B47fuJY78GQhbHU1YTRScHFJZWs
– l--''''''---------''''''''''''
Mar 20 '17 at 17:30





drive.google.com/uc?id=0B47fuJY78GQhRGVDb0dZZGZWS1E
– l--''''''---------''''''''''''
Mar 20 '17 at 17:31





I have come to the conclusion that the technology is not mature on windows. Use a Linux docker until the technology matures.
– Jim
Mar 22 '17 at 4:10




15 Answers
15



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:UsersUSER_NAME.dockermachinemachinesdefault
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.





Thanks, this worked for me.
– Lalitya
Jul 17 '17 at 16:04





Explanation please! The powershell method is the easiest to follow. But why does this problem happen and how come a single liner can fix it?
– Jaywalker
Feb 22 at 12:48



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.


docker


docker-machine



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.


docker


docker-machine



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


docker


docker


docker ps



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


docker-machine run default



docker-machine ssh default


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.


docker



Good luck :)



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.



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





This worked for me - Win10E - Docker version 18.03.0-ce, build 0520e24 (using linux vm - hyper v , virtualization enabled -- which prevents me from running vm in virtualbox - so I can either use docker or a VM at one point in time)
– hB0
Apr 19 at 11:19





worked for me!!
– Narendra
Oct 15 at 7:51



If you have installed docker on Windows 10 Pro with Hyper-V enabled and still you are not able to run Docker on Windows 10, then as the error suggests that your docker daemon is not started. Follow following steps it helped me to start docker successfully-

1. Use command on CMD(Admin mode)
docker-machine restart default
then you will get msg like "open C:UserUser_name.dockermachinemachinesdefaultconfig.json: The system cannot find the file specified."
Go to the docker icon which will be on your windows tray(Right corner of the desktop).
Then Right click on the docker icon -> setting-> Reset -> Restart Docker
It will take few moments
then you will see the message "Docker is running with the green indicator".
Note- If you have already had running Docker containers running on your system then don't follow these steps. You may loose the exiting containers.
enter image description here



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.



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



For me, the answer was to turn off a VPN service.
While at work, connected to a VPN, I get the error mentioned. I switch off the VPN, and then docker worked as expected on Windows 10. The command below (when complete) drops you to the interactive python prompt ">>>" and pre-installs simplejson and requests


simplejson


requests


docker run --rm -ti -v `pwd`:/tmp jfloff/alpine-python:2.7-slim -p simplejson -p requests



I run in to the same problem. I solved this by enabling hyper-v.





I wonder why my answer voted down. Any explanation?
– RedFox
Nov 14 '17 at 1:05




Try running the following from an elevated command prompt:


SET DOCKER_CERT_PATH=C:Users[YourName].dockermachinemachinesdefault
SET DOCKER_HOST=tcp://[yourDockerDeamonIp]:2376
SET DOCKER_MACHINE_NAME=default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_TOOLBOX_INSTALL_PATH=C:Program FilesDocker Toolbox



You might also find that even without setting those env variables, running commands from the docker quick start terminal works no problem.





Can we have an explanation of what those commands do? I don't feel comfortable setting my DOCKER_HOST to some IP address that I know does not exist on my network.
– Bobort
Oct 27 '17 at 21:47





Apologies, that was the local IP of my docker daemon. I've removed it now.
– KidCode
Oct 27 '17 at 21:56



I had the same error on Windows. Turns out I was missing the Container feature.


Install-WindowsFeature Containers



Restart server



When up and running ensure the Docker service is running



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



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.



1st start Powershell "as Administrator" that will also prevent the error you got from docker version.


docker version



The try to start the docker service: start-service docker
If that fails delete the docker.pid file you will find with cd $env:programfilesdocker; rm docker.pid

Finally you should change HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationContainersVSmbDisableOplocks to 0 or delete the value.


start-service docker


cd $env:programfilesdocker; rm docker.pid


HKLM:SOFTWAREMicrosoftWindows NTCurrentVersionVirtualizationContainersVSmbDisableOplocks


0



You can start Kitematic when you get this error. It will display a button to reset the VM and will fix the issue.





This doesn't work. It just gives command failed again. What's even worse is that if you follow this answer and then try to run "Docker Quickstart Terminal" again, you'll get "Host already exists: "default"".
– dcp
Sep 21 '17 at 16:26





Thank you for your interest in this question.
Because it has attracted low-quality or spam answers that had to be removed, posting an answer now requires 10 reputation on this site (the association bonus does not count).



Would you like to answer one of these unanswered questions instead?

Popular posts from this blog

𛂒𛀶,𛀽𛀑𛂀𛃧𛂓𛀙𛃆𛃑𛃷𛂟𛁡𛀢𛀟𛁤𛂽𛁕𛁪𛂟𛂯,𛁞𛂧𛀴𛁄𛁠𛁼𛂿𛀤 𛂘,𛁺𛂾𛃭𛃭𛃵𛀺,𛂣𛃍𛂖𛃶 𛀸𛃀𛂖𛁶𛁏𛁚 𛂢𛂞 𛁰𛂆𛀔,𛁸𛀽𛁓𛃋𛂇𛃧𛀧𛃣𛂐𛃇,𛂂𛃻𛃲𛁬𛃞𛀧𛃃𛀅 𛂭𛁠𛁡𛃇𛀷𛃓𛁥,𛁙𛁘𛁞𛃸𛁸𛃣𛁜,𛂛,𛃿,𛁯𛂘𛂌𛃛𛁱𛃌𛂈𛂇 𛁊𛃲,𛀕𛃴𛀜 𛀶𛂆𛀶𛃟𛂉𛀣,𛂐𛁞𛁾 𛁷𛂑𛁳𛂯𛀬𛃅,𛃶𛁼

Edmonton

Crossroads (UK TV series)