Each Docker Desktop update makes Windows builder fatal error

Hi,

As I’m still waiting for solving my issue, I would like to ask you, if anyone encountered similar issue. Non of my colleagues every got it.

TLDR: After every Docker upgrade I’m loosing my containers as I need to reinstall Docker Desktop to revive Docker Windows builder.

Few subversion back, few months ago, after each Docker Desktop upgrade and re-running machine it starts with service not running.

After running it, one can find that Windows builder doesn’t work.

Docker shows an error:
Get “http://%2F%2F.%2Fpipe%2FdockerDesktopWindowsEngine/_ping”: context deadline exceeded

or

"Builder error

request returned 500 Internal Server Error for API route and version (http://%2F%2F.%2Fpipe%2Fdockerdesktopwindowsengine/_ping “http://%2F%2F.%2Fpipe%2FdockerDesktopWindowsEngine/_ping”), check if the server supports the requested API version

Option to switch to Windows containers disappears from task bar icon menu.
The only working solution is to uninstall Docker Desktop and install it again, which removed my containers. WSL list is empty.

I’ve spent many ours with ChatGPT, as I’m not Docker specialist, trying to solve it and repait, but nothing helped.

I’ve reinstalled my Windows completely, but the issue repeats.

Two things come to my mind.

  1. since it is “access is denied”, I would check if your user is in the “docker-users” group. I don’t know why it would be removed after an upgrade. I would understand adding one more group, but not removing. I would still check it.

  2. I remember there is a Windows service which could be stopped and even set to manual. You mentioned “with service not running”, but I am not sure you meant this service. The installatio guide mentions this:

    --always-run-service: After installation completes, starts com.docker.service and sets the service startup type to Automatic. This circumvents the need for administrator privileges, which are otherwise necessary to start com.docker.service. com.docker.service is required by Windows containers and Hyper-V backend.
    

    (LINK)

    So this com.docker.service is the one I would check.

It is not relevan in your case, but you also mentioned that you were looking for the button to switch to windows containers, so if WSL distribution for Docker is not running, you are probbaly using the HyperV backend for the Linux containers as well, and the docs says that also requires the service.

Hi and thanks for the input.

I’m now reinstalling DD, starting 4.89 and right after installation I’m getting:

#### Privileged helper service is not running

The Privileged helper service is not running. The service runs in the background with SYSTEM privileges. Docker Desktop needs the service to interact with privileged parts of Windows.

Would you like to start the service? Windows will ask you for elevated access.

Installer was run with elevated account.

ad. 1 My ‘‘docker users’’ group consist of my user, my elevated (local admin) user, and SYSTEM user.

Unfortunately, even after deinstalling, reset, installing ,reset, Window builder already inherits the former error:

request returned 500 Internal Server Error for API route and version http://%2F%2F.%2Fpipe%2FdockerDesktopWindowsEngine/_ping, check if the server supports the requested API version

and switching to Windows container is not available.

I had to manually remove all Docker related folders from my and elevated user accounts.

ad. 2. After installation, service com.docker.service is in Automatic startup type.

Can you share the output of the following commands?

docker version
docker info

Remove any private info in the output you see before sharing. I would look for anything suspicious. Please, use code blocks. Euther the </> button in the editor or markdown

```
output here
```

“Privileged helper service is not running” looks normal if it can be started, but “check if the server supports the requested API version” would appear when the client and the server is not the same version and the API version is not supported. On Windows, I could imagine that when another docker client is installed not for Docker Desktop, or when the builder is not using the docker cli and it own client is outdated.

Where did you share the issue first? With the Docker support? Or on GitHub?

Here you go, but bear in mind that currently I got fresh working installation. Now updated to 4.94 and working after restart of the machine.
By waiting for solving I mean my IT and Docker team.

>docker version
Client:
 Version:           29.8.2
 API version:       1.56
 Go version:        go1.26.8
 Git commit:        7fc2dff
 Built:             Wed Sep 30 19:35:42 2026
 OS/Arch:           windows/amd64
 Context:           desktop-windows

Server: Docker Desktop 4.94.0 (241994)
 Engine:
  Version:          29.8.2
  API version:      1.56 (minimum version 1.40)
  Go version:       go1.26.8
  Git commit:       8af9fe3
  Built:            Wed Sep 30 19:32:15 2026
  OS/Arch:          windows/amd64
  Experimental:     false
docker info
Client:
 Version:    29.8.2
 Context:    desktop-windows
 Debug Mode: false
 Plugins:
  agent: Docker AI Agent Runner (Docker Inc.)
    Version:  v1.144.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-agent.exe
  ai: Docker AI Agent - Ask Gordon (Docker Inc.)
    Version:  v1.31.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-ai.exe
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.37.2
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v5.5.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.47
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe
  desktop: Docker Desktop commands (Docker Inc.)
    Version:  v0.4.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-desktop.exe
  dhi: CLI for managing Docker Hardened Images (Docker Inc.)
    Version:  v0.0.7
    Path:     C:\Program Files\Docker\cli-plugins\docker-dhi.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.31
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  mcp: Docker MCP Plugin (Docker Inc.)
    Version:  v0.44.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-mcp.exe
  model: Docker Model Runner (Docker Inc.)
    Version:  v1.2.6
    Path:     C:\Program Files\Docker\cli-plugins\docker-model.exe
  offload: Docker Offload (Docker Inc.)
    Version:  v0.6.53
    Path:     C:\Program Files\Docker\cli-plugins\docker-offload.exe
  pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
    Version:  v0.2.4
    Path:     C:\Program Files\Docker\cli-plugins\docker-pass.exe
  sandbox: "docker sandbox" is deprecated, use Docker Sandboxes instead (Docker Inc.)
    Version:  v0.13.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sandbox.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.25.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 1
  Running: 1
  Paused: 0
  Stopped: 0
 Images: 1
 Server Version: 29.8.2
 Storage Driver: windowsfilter
  Windows:
 Logging Driver: json-file
 Plugins:
  Volume: local
  Network: ics internal l2bridge l2tunnel nat null overlay private transparent
  Log: awslogs etwlogs fluentd gcplogs gelf json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Swarm: inactive
 Default Isolation: hyperv
 Kernel Version: 10.0 26200 (26100.1.amd64fre.ge_release.240331-1435)
 Operating System: Microsoft Windows Version 25H2 (OS Build 26200.9457)
 OSType: windows
 Architecture: x86_64
 CPUs: 14
 Total Memory: 31.46GiB
 Name: *****
 ID: *****
 Docker Root Dir: C:\ProgramData\Docker
 Debug Mode: false
 Labels:
  com.docker.desktop.address=npipe://\\.\pipe\docker_cli
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
  ::1/128
 Live Restore Enabled: false
 Product License: Community Engine

I see. Then I am happy it works now. :tada:

Well, it isn’t so straightforward :slight_smile:
But, it survived another restart of the machine, so this is a good sign.
The difference I see is that I don’t have Docker set to autorun.
Let’s see what happens after another update.

As “expected”, after update to 4.95.0 and restart, containers disappeared and desktop-windows builder is failing with
"http://%2F%2F.%2Fpipe%2FdockerDesktopWindowsEngine/\_ping": context deadline exceeded
as the last time.

docker version
Client:
 Version:           29.8.2
 API version:       1.56
 Go version:        go1.26.8
 Git commit:        7fc2dff
 Built:             Wed Sep 30 19:35:42 2026
 OS/Arch:           windows/amd64
 Context:           desktop-linux

Server: Docker Desktop 4.95.0 (242831)
 Engine:
  Version:          29.8.2
  API version:      1.56 (minimum version 1.40)
  Go version:       go1.26.8
  Git commit:       8af9fe3
  Built:            Wed Sep 30 19:32:25 2026
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v2.3.6
  GitCommit:        ee2735368117d2eb259779949d5e75cdafec9761
 runc:
  Version:          1.5.1
  GitCommit:        v1.5.1-0-g8f2685a4
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0
 docker info
Client:
 Version:    29.8.2
 Context:    desktop-linux
 Debug Mode: false
 Plugins:
  agent: Docker AI Agent Runner (Docker Inc.)
    Version:  v1.145.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-agent.exe
  ai: Docker AI Agent - Ask Gordon (Docker Inc.)
    Version:  v1.31.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-ai.exe
  buildx: Docker Buildx (Docker Inc.)
    Version:  v0.37.2
    Path:     C:\Program Files\Docker\cli-plugins\docker-buildx.exe
  compose: Docker Compose (Docker Inc.)
    Version:  v5.6.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-compose.exe
  debug: Get a shell into any image or container (Docker Inc.)
    Version:  0.0.47
    Path:     C:\Program Files\Docker\cli-plugins\docker-debug.exe
  desktop: Docker Desktop commands (Docker Inc.)
    Version:  4.95.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-desktop.exe
  dhi: CLI for managing Docker Hardened Images (Docker Inc.)
    Version:  v0.0.7
    Path:     C:\Program Files\Docker\cli-plugins\docker-dhi.exe
  extension: Manages Docker extensions (Docker Inc.)
    Version:  v0.2.31
    Path:     C:\Program Files\Docker\cli-plugins\docker-extension.exe
  init: Creates Docker-related starter files for your project (Docker Inc.)
    Version:  v1.4.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-init.exe
  mcp: Docker MCP Plugin (Docker Inc.)
    Version:  v0.44.1
    Path:     C:\Program Files\Docker\cli-plugins\docker-mcp.exe
  model: Docker Model Runner (Docker Inc.)
    Version:  v1.2.6
    Path:     C:\Program Files\Docker\cli-plugins\docker-model.exe
  offload: Docker Offload (Docker Inc.)
    Version:  v0.6.73
    Path:     C:\Program Files\Docker\cli-plugins\docker-offload.exe
  pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
    Version:  v0.2.5
    Path:     C:\Program Files\Docker\cli-plugins\docker-pass.exe
  sandbox: "docker sandbox" is deprecated, use Docker Sandboxes instead (Docker Inc.)
    Version:  v0.13.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-sandbox.exe
  scout: Docker Scout (Docker Inc.)
    Version:  v1.26.0
    Path:     C:\Program Files\Docker\cli-plugins\docker-scout.exe

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
 Images: 0
 Server Version: 29.8.2
 Storage Driver: overlayfs
  driver-type: io.containerd.snapshotter.v1
 Logging Driver: local
 Cgroup Driver: cgroupfs
 Cgroup Version: 2
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 CDI spec directories:
  /etc/cdi
  /var/run/cdi
 Discovered Devices:
  cdi: docker.com/gpu=webgpu
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 nvidia runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ee2735368117d2eb259779949d5e75cdafec9761
 runc version: v1.5.1-0-g8f2685a4
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
  cgroupns
 Kernel Version: 6.18.33.2-microsoft-standard-WSL2
 Operating System: Docker Desktop
 OSType: linux
 Architecture: x86_64
 CPUs: 14
 Total Memory: 15.35GiB
 Name: docker-desktop
 ID: 6d60183c-d17b-42f1-8c74-c3f5a4ddd435
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 HTTP Proxy: http.docker.internal:3128
 HTTPS Proxy: http.docker.internal:3128
 No Proxy: hubproxy.docker.internal
 Labels:
  com.docker.desktop.address=npipe://\\.\pipe\docker_cli
 Experimental: false
 Insecure Registries:
  hubproxy.docker.internal:5555
  127.0.0.0/8
  ::1/128
 Live Restore Enabled: false
 Firewall Backend: iptables

I had a Windows laptop this time, so I checked the Docker Desktop version. It was still 4.94, so I tried to update. Windows containers were not enabled in Docker Desktop and the containers Windows feature was not enabled either, so I enabled both.

I started one Windows container and stopped it. Then I updated Docker Desktop. After the update, it started without errors and the container was still there stopped as I left it when I listed all containers, including stopped ones:

docker ps -a

So there must be something on your machine that I don’t have. Containers are not deleted during an update, so if you don’t see the containers, there must be a changing config that makes Docker Desktop read the container list using a different path after the update. I assume you listed stopped containers as I did.

What is still unclear to me, how you can se that error message and still get a correct docker info and docker version output.

One other idea to explain why I didn’t have the issue is that I did not build a Windows image before updating. I am not even sure I had the builders before the update, because Docker Desktop builder settings opened very slowly before showing the builder list.

Can you check what you have in C:\ProgramData\DockerDesktop\install-settings.json ?
Mine had two parameters only before switching to Windows containers and now it has only one:

{
 "useWindowsContainers": true
}