Error response from daemon: open \\.\pipe\docker_engine_windows: The system cannot find the file specified

I’m a new user and don’t know enough to troubleshoot efficiently. (New as in, I just went through the getting-started demo this morning.) After I switched to windows I can’t get anywhere. I’ve been to many forums and tried many things, it’s not working at all.

PS C:\temp> docker config ls
Error response from daemon: open \\.\pipe\docker_engine_windows: The system cannot find the file specified.

Docker Desktop 4.14.1
|Edition|Windows 11 Enterprise|
|Version|22H2|
|OS build|22621.674|

Listing out the named pipes, there is none called docker_engine_windows. I do see one called docker_engine though. Bug in the installer?

Should I change it to docker_engine? Is this path configurable?

PS C:\temp> [System.IO.Directory]::GetFiles("\\.\pipe\") | sort
\\.\pipe\{641B073C-E4A8-4FC1-82CE-CEE579CD0BE6}
\\.\pipe\{C6A9690C-33AE-4a55-8B65-9498CC0A7B34}.OnScreenDisplay
\\.\pipe\{C6A9690C-33AE-4a55-8B65-9498CC0A7B34}.ShortcutKey
\\.\pipe\{CDB19379-7200-4889-9B2B-B66C1CC8A119}
\\.\pipe\5EA58BF9-13F1-4F04-A152-CB928468DFFC
\\.\pipe\7cd778a4-63c1-454a-a0cd-5c8abcc58ad4
\\.\pipe\atsvc
\\.\pipe\bVtbdjU68TwcURnOw7IjAlQMjz7ACVZ0hgArV3TDhzvM2oJWrN9BsLU1E7ttWznTDHyZJ72KRGxYhbZvkvfTFnDNrIOFJh6qkeXkmHgxfGc0Y5jWqOuVHE
\\.\pipe\crashpad_9172_NCELFARXIOWIJVWC
\\.\pipe\Ctx_WinStation_API_service
\\.\pipe\CxUIUSvcChannel
\\.\pipe\docker_cli
\\.\pipe\docker_engine
\\.\pipe\dockerAPIProxyControl
\\.\pipe\dockerBackendApiServer
\\.\pipe\dockerBackendNativeApiServer
\\.\pipe\dockerBackendV2
\\.\pipe\dockerDesktopEngine
\\.\pipe\dockerDesktopLinuxEngine
\\.\pipe\dockerDesktopWindowsEngine
\\.\pipe\dockerDevEnvApiServer
\\.\pipe\dockerDNSInternalGRPC
\\.\pipe\dockerDNSSystemGRPC
\\.\pipe\dockerExport
\\.\pipe\dockerExtensionManagerAPI
\\.\pipe\dockerFilesystem
\\.\pipe\dockerHTTPProxy
\\.\pipe\dockerHubProxy
\\.\pipe\dockerNetworkProxy
\\.\pipe\dockerNTPUDP
\\.\pipe\dockerSOCKS
\\.\pipe\dockerVolume
\\.\pipe\dockerVpnKitControl
\\.\pipe\dockerVpnkitData
\\.\pipe\dotnet-diagnostic-21452
\\.\pipe\dotnet-diagnostic-6328
\\.\pipe\dotnet-diagnostic-8220
\\.\pipe\ecc447d0-6aa9-47e0-9385-ccd29e367134
...
2 Likes

Reinstalling with the “Use WSL 2 instead of Hyper-V (recommended)” box unchecked fixed the issue. (Reinstalling probably wasn’t necessary because WSL is a config option in the general settings.)

I don’t know what that has to do with a named pipe. Anyway, without understanding the problem, I pushed buttons until I got past it.

PS C:\temp> [System.IO.Directory]::GetFiles("\\.\pipe\") | Select-String docker_engine

\\.\pipe\docker_engine
\\.\pipe\docker_engine_linux

PS C:\temp> pushd 'C:\Program Files\Docker\Docker\'; .\DockerCli.exe -SwitchDaemon; popd
PS C:\temp> [System.IO.Directory]::GetFiles("\\.\pipe\") | Select-String docker_engine

\\.\pipe\docker_engine_linux
\\.\pipe\docker_engine
\\.\pipe\docker_engine_windows
3 Likes

I am trying to build a windows based container and i get the same error. It seems to be an issue with latest release, i have installed 10/31 release and it works fine. For some reason docker engine is not showing up in the windows services with the latest release. After trying multiple things , i finally gave up and installed 10/31 release and everything works. hope this helps someone

1 Like

Same here - pulling an Windows image from a registry ends up in:
Error response from daemon: open \\.\pipe\docker_engine_windows: The system cannot find the file specified.

Same here. I restarted the docker desktop multiple times, and tried to switch between windows and Linux containers, and it is not switching as well.

Have started seeing same issue for Windows containers after upgrading to v4.14.1 (91661). Is there a problem with this new version?

I had the same issue, I took chedebala’s advice, uninstalled 4.14.1 and downloaded 4.13.0 and that worked for me

here is a link for anyone who needs help downloading an older version
4.13.0

https://desktop.docker.com/win/main/amd64/89412/Docker%20Desktop%20Installer.exe

download link

4.13.1 was released on oct31, so that might work too but i’m running 4.13.0. here is the link if you want to try

https://desktop.docker.com/win/main/amd64/90346/Docker%20Desktop%20Installer.exe

( i’m a noob so I can’t put more than 2 links )

I got the urls from chocolatey
Chocolatey Software | Docker Desktop 4.13.0

2 Likes

Try add Optional Feature - Container and Hyper-V to windows.
In Windows 11:
Apps → Optional features → More Windows features → Check Containers and Hyper-V and click OK

or try run:
Enable-WindowsOptionalFeature -Online -FeatureName containers –All
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V –All

If still not working uninstall Docker Desktop and install Docker Desktop 4.13.1 from here:

more info here:

5 Likes

Hi everyone,

I found the solution.
Open powershell like administrator, then type: Enable-WindowsOptionalFeature -Online -FeatureName $(“Microsoft-Hyper-V”, “Containers”) -All

Type “y”, anet after PC restart, should be working.

1 Like

Great job!
In my case only needed to activate the Containers feature for Windows.

Thanks a lot!

On further inspection, seems that there may have been an internal policy change which affected Docker for Desktop. As of v4.15.0, all is working as expected

That’s right. That’s first what should be done, but if not working, then in PowerShell "Enable-WindowsOptionalFeature -Online -FeatureName $(“Microsoft-Hyper-V”, “Containers”) -All "

Look like it depends on the windows environment

1 Like

Sorry to say, but this error remains in 4.15.0 as well. I’ve been sweeping the net for all suggestions on this error, I’ve also uninstalled, restarted, deleted ALL files and folders even slightly mentioning Docker (looking in the install logs and personal files) and then reinstall 4.15.0 from a clean environment. Still the same issue with the \pipe\docker_engine_windows. I’ve tried both with and without WSL.

Going back to older version now and probably it will take some time before I even consider upgrading as this has removed lots of container data and work time that I don’t wanna go through again.
Probably worth to mention is that it does work if I switch to linux containers, but as the containers I am using are windows containers I cannot use that setting.

1 Like

Are you sure you enabled the containers feature as it was mentioned in the previous posts? I am asking only because you did not mention it and I want t o make sure you have done it.

If you use Windows containers it doesn’t matter whether you have the WSL backend or Hyper-V., but the Hyper-V and Containers features are required.

1 Like

Don’t waste your time on re-installing diffrrent Docker Desktop versions - it doesn’t work!
As sugested in this thread multiple times, simply disable the ‘use WSL v2 option’ at the begining of the setup, or manually switch to Hyper-V backend if you prefer no to reinstall.

1 Like

I’ve tried all options mentioned here - no luck.

I’ve been running (and using) Hyper-V and Containers long before I installed Docker Desktop, so they’re definitely enabled. Switching WSL2 on and off doesn’t make a difference.

Just upgraded to latest version 4.15.0, but it still doesn’t work. How on earth is this expected to provide any value?

In my organization, we’re doing everything we can to get rid of Docker Desktop as fast as possible. We’re almost there on the Linux side, but unfortunately we still need it for Docker Windows development, so it’s rather bad when it fails.

Unfortunately not many people use Docker Desktop for Windows who actually understand how it works. I am not 100% sure either since I use Windows almost only when I try to help someone else.

So I used now to reproduce the issue. The problem is that the issue could have a number of reasons. If you go the the Windows Services, you should find a service called “Docker Engine” and an other called “Docker Desktop Service”. Both should be in “Running” state. When I stop “Docker Engine” I get the same error message.

So we should find out why Docker Engine could not start or why you can’t access that pipe. I used the solution of @paulnwms to list the pipes

In the window or the “Services” app when you open the properties of the service “Docker Engine” you can find the command that starts the Docker Engine. If the service is not running, try to run that manually from command line to see some error messages.

I had to sue this method recently when I used rclone to mount an S3 endpoint and my service configuration was wrong. I tried to find error messages in the Windows Event Viewer, but couldn’t find anything so I ran the command manually which helped me to solve the problem.

2 Likes

Hi Ákos,

Thanks for useful input. Unfortunately, not everything is as you expect: I do not have a Docker Engine service listed anywhere, only Docker Desktop. Others have reported this as well.

And listing the pipes, I can see that even though Docker Desktop claims it’s running Windows containers, I still have a pipe for ‘docker_engine’ and another one for ‘docker_engine_linux’ - but non for ‘docker_engine_windows’.

Just tried to switch back to Linux containers in order to record another error message I’d like to include in this post. Interesting, this time Docker Desktop kept stopping and starting Docker over and over for, like, five times, then it stopped with this error message:

Docker.Core.NoBugsnagException:
Failed to start
   at Docker.Engines.LinuxkitDaemonStartup.<WaitAsync>d__5.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\LinuxkitDaemonStartup.cs:line 54
--- 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.LinuxHyperVEngine.<DoStartAsync>d__14.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\LinuxHyperVEngine.cs:line 66
--- 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.ApiServices.StateMachines.TaskExtensions.<WrapAsyncInCancellationException>d__0.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\TaskExtensions.cs:line 29
--- 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.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__6.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:line 72
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at Docker.ApiServices.StateMachines.StartTransition.<DoRunAsync>d__6.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\StartTransition.cs:line 99
--- 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.ApiServices.StateMachines.EngineStateMachine.<StartAsync>d__15.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.ApiServices\StateMachines\EngineStateMachine.cs:line 72
--- 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.<StartAsync>d__23.MoveNext() in C:\workspaces\main-merge\src\github.com\docker\pinata\win\src\Docker.Engines\Engines.cs:line 109

Will most likely reboot and return with another post.

1 Like

I think internal policy change may have been a red herring on top of a red herring! I’ve since found that the registry value Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Policies\Microsoft\FVE\FDVDenyWriteAccess still needs to be set to 0. Warning message doesn’t appear like it used to but when I’ve done this with v4.15.0 I am able to run Windows containers (as well as Linux)

3 Likes

Hi sjdocker,

Now THAT did the trick! I have Docker Windows running again.

That just leaves us with a fight with the IT department that’ll properly reset this over and over in the future. Sigh.

Best regards,
Lars

1 Like