I am using Windows 10 pc. Recently I have downloaded docker for Windows and it was working fine. But, recently a problem occurred and is it not start anymore it just hang in the status starting.
I haven’t changed any configuration and I am wondering what may cause this problem.
I use the latest version of docker.
On my pc, Hyper-V is enabled and Containers are disabled. (Since, I son’t use Windows container, I don’t think it is necessary. )
On task bar, when I check docker icon. It is always in starting status.
When I check services, it seems it is running.
when I try docker command on powershell. It could not found docker command.
I am not in an urgency to set up docker, I was just playing with it. But, suddenly this problem occured. I have been trying to solve this problem for a while. I have search similar problems and uninstall docker several times while searching for a solution. It is wierd and disturbing that a tool suddenly stop working and there is no trace to find the root problem. I suspect may be company sucurity policy change effects my computer and cause this problem But I could not find any clue to support this.
My question is what should I do to understand what is wrong. What cause the problem and how can it be fixed.
Note: When I restart computer following error occurs.
content of the error message:
error during connect: Get
http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.30/containers/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 Docker.Backend.DockerDaemonChecker.Check(Func`1
isDaemonProcessStillRunning) in
C:gopathsrcgithub.comdockerpinatawinsrcDocker.BackendDockerDaemonChecker.cs:line
63 at
Docker.Core.Pipe.NamedPipeServer.<>c__DisplayClass9_0.b__0(Object[]
parameters) in
C:gopathsrcgithub.comdockerpinatawinsrcDocker.CorepipeNamedPipeServer.cs:line
47 at Docker.Core.Pipe.NamedPipeServer.RunAction(String action,
Object[] parameters) in
C:gopathsrcgithub.comdockerpinatawinsrcDocker.CorepipeNamedPipeServer.cs:line
145
When I run docker ps -a
following error occurs.
docker ps -a error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.30/containers/json?all=1:
open //./pipe/docker_engine : The system cannot find the file
specified. In the default daemon configuration on Windows, the docker
client must be r un elevated to connect. This error may also indicate
that the docker daemon is not running.
Expected behavior
Actual behavior
Information
- Diagnostic ID from «Diagnose & Feedback» in the menu.
- a reproducible case if this is a bug, Dockerfiles FTW
- page URL if this is a docs issue or the name of a man page
- host distribution and version (Windows version, build number, etc)
Steps to reproduce the behavior
- …
- …
DevSoft2689, Rudra-Choubey, and mayanksharma008 reacted with confused emoji
Que-Loco, leonel11, Wicky435, night-ZK, TejashreeD, LvJianKai, bhuvi8674, calibura, mdevcode, aaronchenhg, and 31 more reacted with eyes emoji
same for me. service looks like running, but no client can connect. user- or elevated level of command line.
G508031@RMM-P7000032FW MINGW64 /
$ net start com.docker.service
The Docker for Windows Service service is starting.
The Docker for Windows Service service was started successfully.
G508031@RMM-P7000032FW MINGW64 /
$ docker version
Client:
Version: 17.12.0-ce
API version: 1.35
Go version: go1.9.2
Git commit: c97c6d6
Built: Wed Dec 27 20:05:22 2017
OS/Arch: windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.35/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.
G508031@RMM-P7000032FW MINGW64 /
$ net start com.docker.service
The requested service has already been started.
JungwooJava reacted with laugh emoji
JungwooJava and xcitic reacted with heart emoji
I had the same issue — I was able to resolve the issue by running power shell with Admin privs. I validated this was the same behavior for running the commands via elevated cmd prompt. It also enabled docker run hello-world
command which was returning the error message ...Access is denied. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
KumareshBabuNS, Rottenflesh666, wokaerhenshen, adrianschubek, Ali-Behroozfar, BrownEdgar, Luis-Enrique1, dskvr, Huzar01, emepetres, and 2 more reacted with thumbs down emoji
anaslamaizi, dskvr, mohd-ismail, Baldugar, and wonAdam reacted with confused emoji
Solved for me. Run docker desktop app, check in notification. Setup if necessary…
Be happy.
RodrigoNovais, poudyalanil, rfabro, bijay-ps, caigol, Luis-Enrique1, abhis07, dskvr, mgelev, justrajeshkp, and 3 more reacted with thumbs down emoji
meghraj4, alibenmessaoud, tanawattang, lehien, rhwilburn, himanshu8426, dadakhanov, tiagooliveira08, IP-Andro, gboquizosanchez, and 4 more reacted with hooray emoji
alibenmessaoud, moeinrahimi, shuyanshtx, hungnguyen3009, israeldiassoares, gocs, Sakzsee, dskvr, joaojustodev, and Baldugar reacted with confused emoji
mdevcode, lehien, rhwilburn, ilhesam, an83, gssarwar, DevSoft2689, haripapisetty, ankur20us, and shessane reacted with heart emoji
DevSoft2689, ankur20us, and martyjacobsdev reacted with rocket emoji
hubert-wojtowicz reacted with eyes emoji
Closing this issue. @Venkateshkuntla, if you still have the problem, please re-open and supply a diagnostics ID and detaisl of your setup (Docker for Windows version etc).
I had the same issue — I was able to resolve the issue by running power shell with Admin privs.
I have the same issue since I upgraded. Powershell in admin mode doesn’t help.
PS C:WINDOWSsystem32> docker version
Client:
Version: 18.06.0-ce
API version: 1.38
Go version: go1.10.3
Git commit: 0ffa825
Built: Wed Jul 18 19:05:28 2018
OS/Arch: windows/amd64
Experimental: false
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/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.
sagarkm, mchudinov, Omarf117, sslavian812, HasmithaSaravanan, jkpete, NBprojekt, ttfreeman, dluciano, jizzaki, and 6 more reacted with confused emoji
KiraWong, vankadn, jianannan666, TomeThiago, dluciano, jizzaki, garimag03, NaturalKnight, gsheeba, wanglibing223, and 8 more reacted with eyes emoji
Same issue as @rorygilfillan. Docker is on my PATH, but I get:
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/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.
same problem at my windows….
$ docker images
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/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.
$ docker version
Client:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:21:34 2018
OS/Arch: windows/amd64
Experimental: false
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/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.
Same issue. Diagnostics ID 67ED6A1F-C0B5-466D-9BC3-DF0228895023/20180901135537
same issue:
Version: 18.06.1-ce
API version: 1.38
Go version: go1.10.3
Git commit: e68fc7a
Built: Tue Aug 21 17:21:34 2018
OS/Arch: windows/amd64
Experimental: false
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.38/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.
Same issue: 601A73D6-300C-4099-96C4-1D1FE8D18493/20180917131950
I fixed this issue by settings the certificate environment variables (for SSH/TLS):
SET DOCKER_CERT_PATH=%UserProfile%.dockermachinemachinesHypervDefault
SET DOCKER_MACHINE_NAME=HypervDefault
SET DOCKER_HOST=tcp://192.168.1.15:2376
SET DOCKER_TLS_VERIFY=1
The problem began when I created the «HypervDefault» machine, and deleted the «default» machine, which can be verified with docker-machine commands:
docker-machine ls
docker-machine env HypervDefault
FOR /f "tokens=*" %i IN ('docker-machine env HypervDefault') DO @%i
The above commands might need to run with Admin privileges (elevated), and make sure docker service is running: net start com.docker.service
. Then the docker commands can run well:
docker ps
docker image ls
docker container ls --all
P.S: If your local IP Address (NAT) changes, for example: 192.168.1.3 —> 192.168.1.15 ; you can re-generate the certs (and it will auto update config.json
for the machine respectively)
docker-machine regenerate-certs [machine-name]
-Duc
jeffhx, Salman2301, jamharu30, hybtalented, lightofdavinci, ElmaDavies, and YanYunNN reacted with eyes emoji
@ducquoc does not work at step FOR /f «tokens=*» %i IN (‘docker-machine env HypervDefault’) DO @%i
Windows 10 Home/ AMD64
@blueyestar :
That line, I use the «HypervDefault» as the machine name. In default case , the name is «default» . I think you should check that. (and adjust the variable environment to default
respectively)
Another possibility is that some batch syntax (of cmd.exe
) might not be run by PowerShell. In new versions of Docker they will use PowerShell syntax , so I think you can check the actual to be used by using the default (no machine name):
That will have output as a hint about the loop command to set environment variables. (though usually it’s only the IP change need to be updated)
cd "C:Program FilesDockerDocker"
./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
be-engineer, KristofferTolboll2, Dukro, Luis-Enrique1, SanjayKumarKKR, kai4idps, anani-a-missinou, khasky, and Amansaxena001 reacted with thumbs down emoji
fahmisarker, AlexandreBarros, janejl, robarthur, kami83h, n0str, richgo, ymyk, hyukwookwon, MelleB, and 46 more reacted with laugh emoji
ilerik, robarthur, kami83h, n0str, AsafSavichWs, rikola, ymyk, hyukwookwon, rsvenkata, Izzmo, and 67 more reacted with hooray emoji
mesutcakir, gshenai1, Joeyscat, rafaveguim, thiagosrios, nickmurr, erzhu4, RahulInCognizant, ludehon, sabidhasan, and 44 more reacted with heart emoji
sabidhasan, StephenBoydMCG, sh1605, vankadn, hanekoo, jdenisgiguere, mauroporras, solenark, aslafy-z, ozcanovunc, and 25 more reacted with rocket emoji
luisgagocasas, fortanu82, NBprojekt, swapnilmastekar, OUYA77, ZacBridge, Gaususer, and zacvictor13 reacted with eyes emoji
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
Thanks!
Luis-Enrique1, anani-a-missinou, woshidamaomao, and khasky reacted with thumbs down emoji
DiDiDaDiDiDa, alkreddy, robarthur, ymyk, billybooth, Ashishk85, hanekoo, ArulPushpam, solenark, fortanu82, and 4 more reacted with laugh emoji
saurabhcdt, alkreddy, robarthur, eduuh, rzino, ymyk, vipul511, billybooth, rinnguyen711, hanekoo, and 6 more reacted with hooray emoji
billybooth, gocs, and DmitryNefedov reacted with confused emoji
dasariramacharan, ArulPushpam, 123v, Robin2091, fortanu82, mghase, kabirahasaan, kai4idps, Tomagi, and hhzhhzhhz reacted with heart emoji
kai4idps and Tomagi reacted with rocket emoji
fortanu82, NBprojekt, and kai4idps reacted with eyes emoji
@prabuddha93: Issue solved with your solution. Thank you
@zilurrane …your tip resolved the issue… See my note for my observation
cd «C:Program FilesDockerDocker»
./DockerCli.exe -SwitchDaemon
Especially on windows machine when you see the above error after a docker update, try the above commands. It appears like the Docker Desktop UI may indicate that you are already using Linux Containers, but the update may have messed up that setting. Running the above commands will set to Linux Containers and there after you can work happily.
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
worked for me as well
cd «C:Program FilesDockerDocker»
./DockerCli.exe -SwitchDaemon
this worked for me..Thank you very much
open with powershell, It work for me.
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
Thanks!
This isn’t a workable solution to be honest for Linux containers users (assuming Docker is configured to use Linux containers), since it papers over an issue with Linux Containers by switching Docker over to use Windows containers.
There’s a problem with the interoperability of Docker, HyperV, Linux containers, and security levels (in my case) that are preventing me from making progress installing even the most basic docker containers (alpine, centos).
I’m going to look around a bit more for instructions, and if all else fails, screw it and install a Linux desktop on my corporate laptop in order to get my job done. I’ve been very disappointed with how much of a headache it’s been trying to get this to work on Windows, compared to OSX where everything «just worked out of the box».
jeffhx and rpateld reacted with eyes emoji
For anyone else reading this thread, the error message is coming from HyperV.
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
Thanks for this. It solve my issue.
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
Thanks for this. It solve my issue.
As noted previously, this switches Docker from Linux to Windows containers. This doesn’t likely fix the underlying issue; it only papers over the fact that there’s an issue with HyperV interacting with Docker.
I’ll see if I can get Docker to work with my Windows 10 Pro desktop, given that I no longer have access to the machine that I ran into the original issues with.
I had the same issue very recently and was able to get it working again pretty easily:
`Client: Docker Engine — Community
Version: 18.09.0
API version: 1.39
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:47:51 2018
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine — Community
Engine:
Version: 18.09.0
API version: 1.39 (minimum version 1.12)
Go version: go1.10.4
Git commit: 4d60db4
Built: Wed Nov 7 00:55:00 2018
OS/Arch: linux/amd64
Experimental: false
`
I fixed it by using «Reset to factory defaults…» under Settings > Reset.
Of course I had to sign in again and all my containers were gone, so I had to re-download everything but that’s not a big deal, after all that is what docker is for, right!
I fixed this issue by settings the certificate environment variables (for SSH/TLS):
SET DOCKER_CERT_PATH=%UserProfile%.dockermachinemachinesHypervDefault SET DOCKER_MACHINE_NAME=HypervDefault SET DOCKER_HOST=tcp://192.168.1.15:2376 SET DOCKER_TLS_VERIFY=1
The problem began when I created the «HypervDefault» machine, and deleted the «default» machine, which can be verified with docker-machine commands:
docker-machine ls docker-machine env HypervDefault FOR /f "tokens=*" %i IN ('docker-machine env HypervDefault') DO @%i
The above commands might need to run with Admin privileges (elevated), and make sure docker service is running:
net start com.docker.service
. Then the docker commands can run well:docker ps docker image ls docker container ls --all
P.S: If your local IP Address (NAT) changes, for example: 192.168.1.3 —> 192.168.1.15 ; you can re-generate the certs (and it will auto update
config.json
for the machine respectively)
docker-machine regenerate-certs [machine-name]
-Duc
Right for me.
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
I am trying to run but not able to resolve the issue and secondly, after installing I’ve only docker toolbox inside program files because of windows 10 basic. Kindly help me to resolve the issue
I used Anaconda it worked but on cmd it failed.
In my case docker service was not running.
Steps to start:
Check Docker Desktop Service
in Services (run > services.msc).
Sart that if not running.
I fixed this issue by settings the certificate environment variables (for SSH/TLS):
SET DOCKER_CERT_PATH=%UserProfile%.dockermachinemachinesHypervDefault SET DOCKER_MACHINE_NAME=HypervDefault SET DOCKER_HOST=tcp://192.168.1.15:2376 SET DOCKER_TLS_VERIFY=1
Helped.
SET DOCKER_CERT_PATH=C:Users%YOUR_USER%.dockermachinemachinesdefault
SET DOCKER_MACHINE_NAME=default
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_TLS_VERIFY=1
This fixed the issue in Windows machine.
MOFCOMP %SYSTEMROOT%System32WindowsVirtualization.V2.mof
cd «C:Program FilesDockerDocker»
./DockerCli.exe -SwitchDaemon
I had the same problem in Win Server 2019. I just opened Services and started Docker Engine service.
It is strangely, but the service does not starting after installation in his own.
After that it worked for admin user.
In order to add access for other user you can use this commands in powershell:
Install-Module -Name dockeraccesshelper
Import-Module dockeraccesshelper
Add-AccountToDockerAccess "domainuser"
@ducquoc does not work at step FOR /f «tokens=*» %i IN (‘docker-machine env HypervDefault’) DO @%i
Windows 10 Home/ AMD64
You must already change EditionID from Core to Professional on register there OrdinateurHKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion
- Run ‘dockerd.exe’ located in ‘C:Program FilesDockerDockerresources’ .
- Now execute ‘docker version’ on a new powershell as administrator
dhb33 and DylanDenali reacted with thumbs down emoji
360macky reacted with hooray emoji
ibtissam-boutahi, CarolinaGarzonL, evan-yjq, and carlosb-awlatam reacted with heart emoji
Hey it fixed ,
Try to run this command :
docker-machine env
You will see this:
export DOCKER_TLS_VERIFY=»1″
export DOCKER_HOST=»tcp://192.168.99.100:2376″
export DOCKER_CERT_PATH=»C:UsersLAP13670-local.dockermachinemachinesdefault»
export DOCKER_MACHINE_NAME=»default»
export COMPOSE_CONVERT_WINDOWS_PATHS=»true»
Run this command to configure your shell:
eval $(«C:Program FilesDocker Toolboxdocker-machine.exe» env)
then run this command on your shell
eval $("C:Program FilesDocker Toolboxdocker-machine.exe" env)
=> Your problem was solved
I ran Docker Desktop and restarted my system and it worked.
I had same problem Windows 7. Tried some of the above, nothing worked. I fixed mine by going into Docker Toolbox folder, and double clicking start.sh
your installation directoryDocker Toolbox
Find start.sh
Double click start.sh
Wait for it to finish, then it’ll work.
docker is configured to use the default machine with IP 192.168.99.101
For help getting started, check out the docs at https://docs.docker.com
Start interactive shell
Win 10 familly/ intel i5
This helps me too! tks
I’m encountered same error in powershell on Windows10 Pro, Version 1909. I run docker on HyperV.
Docker Desktop Service was runnning. Restarting Docker Desktop Service finished successfully but same error appeared.
I restart OS, but same error appeared.
I ran docker desktop app, and did tutorial.
Tutorial has finished successfully, And after that, I successfully run docker command.
PS > docker —version
Docker version 19.03.8, build afacb8b
Installed Docker Desktop for Windows’s channel is «stable» one.
Expected behavior
Actual behavior
Information
- Diagnostic ID from «Diagnose & Feedback» in the menu.
- a reproducible case if this is a bug, Dockerfiles FTW
- page URL if this is a docs issue or the name of a man page
- host distribution and version (Windows version, build number, etc)
Steps to reproduce the behavior
- Installing the latest version of Virtual Box resolved this issue.
I uninstalled the Hyper-V service and network adapters a while ago. I think that broke my docker install
I had the same error message and for me it was my antivirus program that interfered with running docker. I had to switch of the real time scan. (I use avira).
Run ‘dockerd.exe’ located in ‘C:Program FilesDocker’ work for me
or try
top-service docker
Get-ContainerNetwork | Remove-ContainerNetwork -Force
Start-service docker
I had the same problem but I’m using «minkube», then I just ran: «minikube docker-env» to see and se the correct env on windows prompt.
If anyone getting error like «error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/ … archive/tar: write too long»
the problem seems caused by symlinks in the folder.
I solved the problem by removing symlinks from the folder
reference: kubernetes/kompose#656
This is an issue for me i downloaded the latest docker and Terraform. I cant use the Docker provider because the docker_host value isnt working ive look everywhere tried all solutions:
- turn on experimental cli mode
- using localhost as docker host
- using named pipe as docker host
- restarting docker service
- using dockertools for docker-machine to see VM host value
after using docker machine and creating a VM i noticed the VM was using IPv6? what does this mean
docker env output:
SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://[fe80::215:5dff:fe10:900]:2376
SET DOCKER_CERT_PATH=C:Usersmyuser.dockermachinemachinesmydockervm
SET DOCKER_MACHINE_NAME=mydockervm
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env mydockervm') DO @%i
useful info:
- i am on a brand new Windows Server 2019
- to create VM using docker-machine i had to create a external switch in HyperV Manager
- used
docker-machine.exe create --driver hyperv --hyperv-virtual-switch "myexternalswitch" --hyperv-cpu-count "1" --hyperv-memory "1024" --hyperv-disk-size "20000" mydockervm
to create VM
cd «C:Program FilesDockerDocker»
./DockerCli.exe -SwitchDaemon
Muchas gracias…
There was no such folder in my Windows 10:
«C:Program FilesDockerDocker»
I got it running by the following command in windows PowerShell:
& "C:ProgramDatachocolateylibdocker-machinebindocker-machine.exe" env dev | Invoke-Expression
And then I was able to get the following output:
PS C:WINDOWSsystem32> docker version
Client:
Version: 19.03.12
API version: 1.40
Go version: go1.13.12
Git commit: 0ed913b8-
Built: 07/28/2020 16:36:03
OS/Arch: windows/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 19.03.12
API version: 1.40 (minimum version 1.12)
Go version: go1.13.10
Git commit: 48a66213fe
Built: Mon Jun 22 15:49:35 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
Futher can see all images as: PS C:WINDOWSsystem32> docker images
And also was able to run the image hello-world as: PS C:WINDOWSsystem32> docker run hello-world
Cool, thanks for the help and guide…
For anyone else reading this thread, the error message is coming from HyperV.
Running pre-create checks…
Error with pre-create check: «This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory»
Looks like something went wrong in step ´Checking if machine default exists´… Press any key to continue..
cd "C:Program FilesDockerDocker" ./DockerCli.exe -SwitchDaemon
In Powershell elevated access solved my issue.
This is the solution. Juste wait sill docker service notifies before trying your docker command again
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.
Send feedback to Docker Community Slack channels #docker-for-mac or #docker-for-windows.
/lifecycle locked
docker
locked and limited conversation to collaborators
Sep 10, 2020
Hi !
Time to share a weird experience on Windows 10 and Docker. Sometimes, usually after some Windows 10 update or even after a software installation, docker stop responding.
An typical error may look like this.
error during connect: This error may indicate that the docker daemon is not running.: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/build?buildargs=%7B%7D&cachefrom=%5B%5D&cgroupparent=&cpuperiod=0&cpuquota=0&cpusetcpus=&cpusetmems=&cpushares=0&dockerfile=Dockerfile.amd64&labels=%7B%7D&memory=0&memswap=0&networkmode=default&rm=1&shmsize=0&t=noToday.azurecr.io%2FU%3A0.0.88-amd64&target=&ulimits=null&version=1: open //./pipe/docker_engine: The system cannot find the file specified.
From Visual Studio Code we get:
And it’s very weird. When I check the Docker desktop app, it’s stuck in the the STARTING state.
I can restart the docker desktop app, and I will still have the issue. As I said, weird.
I’m a handy man, so I decided to restart the docker service. Just 2 commands:
Net stop com.docker.service Net start com.docker.service
However, this does not solve the problem. And sometimes, even restarting Windows won’t fix the problem.
After some time, I found the root cause:
Somehow WSL was set to version 1 instead of version 2.
I’m not sure why, however the solution is super easy. Just run a command to set WSL to version 2 and then restart docker service.
wsl --set-default-version 2 Net stop com.docker.service Net start com.docker.service
If you are a visual person, this may look like this:
Important: you need to run these commands with Administrator privileges. So in a Windows Terminal world, this may also look like this. Right click on the Windows Terminal App, and click on “Run as administrator”.
Happy coding!
Greetings
El Bruno
More posts in my blog ElBruno.com.
¿Con ganas de ponerte al día?
En Lemoncode te ofrecemos formación online impartida por profesionales que se baten el cobre en consultoría:
- Si tienes ganas de ponerte al día con Front End (ES6, Typescript, React, Angular, Vuejs…) te recomendamos nuestros Máster Front End: https://lemoncode.net/master-frontend#inicio-banner
- Si te quieres poner al día en Backend (stacks .net y nodejs), te aconsejamos nuestro Bootcamp Backend: https://lemoncode.net/bootcamp-backend#bootcamp-backend/banner
- Y si tienes ganas de meterte con Docker, Kubernetes, CI/CD…, tenemos nuestro Bootcamp Devops: https://lemoncode.net/bootcamp-devops#bootcamp-devops/inicio
If you have installed Docker Desktop on Windows you may come across the following error:
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/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.
If you try to start or restart the service, you may see an error window appear, similar to this:
You may wish to Reset to factory defaults
but this will likely not resolve the problem for you.
What you may find the fix to be is to switch the daemon between Linux and Windows Containers.
Firstly, change the working directory to: c:Program FilesDockerDocker
.
Next, in order to switch the daemon, run .DockerCli.exe -SwitchDaemon
. Note that you will likely need to run this command twice in order to switch back to the installed(preferred) daemon:
As soon as the command successfully runs, a notification will appear to confirm that Docker Desktop is up and running.
cd "C:Program FilesDockerDocker" ; ./DockerCli.exe -SwitchDaemon
Docker is an open platform for developing, shipping, and running applications and it provides a simple and powerful developer experience, workflows, and collaboration for creating applications. Docker enables you to separate your applications from your infrastructure so you can deliver software quickly. With Docker, you can manage your infrastructure in the same ways you manage your applications. By taking advantage of Docker’s methodologies for shipping, testing, and deploying code quickly, you can significantly reduce the delay between writing code and running it in production. You can download and install Docker on multiple platforms. Refer to the following guide on how to install and uninstall Docker Desktop on Windows 10 and Windows Server, how to Pull your first Nginx Container Image from Docker Hub and deploy it to your local machine, Azure DevOps and GitHub integration for Docker and Kubernetes deployment, how to create a static pod in Kubernetes, and how to install, register and start GitLab Runner on Windows.
This error can also be prompted when you execute the docker version command on Windows. Before using Docker Desktop, you may want to see the Docker Subscription Service Agreement. Here is a link to it.
The following error below occurred because the executor on the file was changed and the GitLab-Runner server was not restarted in order to apply the new changes made. Kindly refer to some of these related guides: How to install Git on macOS, how to clone a repository and install software from GitHub on Windows, Panic: Failed to register the GitLab-runner, you may be having network issues.
Running with gitlab-runner 14.3.1 (xxxxxx)
on Windows runner with docker-windows executor xxxxxxxxx
Preparing the "docker" executor
00:07
ERROR: Failed to remove network for build
ERROR: Preparation failed: error during connect: In the default daemon configuration on Windows, the docker client must be run with elevated privileges to connect.: Get http://xxxxx/info: open //./pipe/docker_engine: The system cannot find the file specified.
Will be retried in 3s ...
Solution: Restart the Docker service
Ensure all the prerequisites to have Docker Desktop installed and running in your environment are fulfilled. This error meant the docker daemon is unreachable. Docker daemon fails to start up on Windows or stops for some reason and especially when you try to run any commands.
To fix such types of issues restarting the service will resolve the error. This will open the Services Windows GUI.
Please restart the Docker Desktop Service. This can be done by launching the services.msc
from the Run dialog window or Windows Search.
Right-click on Docker Desktop and select the restart option. Please make sure the services are in the “Running” state.
Restart Docker Service Via the command line
The Docker Desktop services can be stopped and restarted with the following commands below. Regardless of the step you use, you will achieve the same result 🙂
net stop com.docker.service net start com.docker.service
Restart docker service using GUI
Using Docker Desktop GUI, click on the troubleshoot icon as shown below and click on Restart.
Also, click on the hidden icon and right-click on Docker. You will find the option to restart Docker. Click on it to have it restarted.
Upon using any of the methods above to restart the Docker Desktop and the GitLab -Runner service, the error was eliminated. If the steps above do not resolve your issues (errors), you may have to Switch Daemon configuration
“Switch to Windows Container” in your host OS is Windows.
PS C:Program FilesDockerDocker> ./DockerCli.exe -SwitchDaemon
This can be done from the command prompt as shown below or from the taskbar by right-clicking on the white whale and select switch to Windows. Here are some similar errors this method can resolve as well: “Docker image OS”windows” cannot be used on this platform: No matching manifest for linux/amd64 in the manifest list entries from Microsoft Docker Registry“, and “The executor requires OSType=windows, but Docker Engine supports only OSType=linux“.
I hope you found this blog post helpful. If you have any questions, please let me know in the comment session.
Introduction
This is an article where the main focus is just to solve an error message as exist in the title of this article. The error message is ‘the docker client must be run with elevated privileges to connect.: Get “http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json?all=1”: open //./pipe/docker_engine: The system cannot find the file specified’. The following is the appearance of the error message :
C:UsersAdministrator>docker container list --all 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?all=1": open //./pipe/docker_engine: The system cannot find the file specified. C:UsersAdministrator>docker image list --all 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/images/json?all=1": open //./pipe/docker_engine: The system cannot find the file specified. C:UsersAdministrator>
Solution
Apparently, the solution for the error message in this case is already available in another article. Just as the error message appear as in the introduction part, there is an execution to take for a specific action step. That action step is to run the Docker Desktop application. But the Docker Desktop application fail to start. It gives an error message of ‘Docker Desktop fail to initialize’. The following image is displaying the error message as an attempt to troubleshoot further more :
Like the article in the title of ‘How to Solve Error Message Docker Failed to Initialize’ in this link, the solution for that kind of error message is actually the same. In general, the following is the sequence step for solving the action :
-
Delete the settings.json file which exist in the User folder. For an example in ‘C:UsersUserNameAppDataLocalDocker’ or any variants path of it. For an example ‘C:UsersUserNameAppDataLocalRoamingDocker’, etc.
-
By deleting that file, it will trigger the Docker Desktop Application to start. But it will start by showing once again the EULA (End User License Agreement) or SLA (Software License Agreement).
-
Just click the checkbox to agree to it and it will normally start the Docker Desktop application.
-
If there is another error persist where the Docker Desktop application cannot read the daemon.json file for starting the Docker Desktop application, just choose what to do with it. Either to click the Reset button which is going to reset everything so that the Docker Desktop application will start normally. Or just manually troubleshoot by checking and revising the ‘daemon.json’ file.
- Restart the PC or laptop if it is necessary for starting the Docker Desktop application normally.