Since a long time now, I am asked to start the Docker Desktop Service with admin rights on every computer/Windows boot which is kind of annoying. My account is already part of the docker-users group. And I have already the latest Docker Desktop version and both WSL and Hyper-V are enabled.
Anyone experiencing the same issue?
This happens to me when I switch from Linux containers to Windows containers. I get the same prompt when changing the type and if I quit, it will get “stuck” in this state because the windows service “Docker Desktop Service” is not running. I’ve tried to set this service startup type to automatic a few times but it constantly gets reset to manual. What is even more annoying, I do not have admin access to my hardware so I cannot use docker until I open a ticket with support to get out of the “stuck” state. I haven’t had any luck finding a solution online.
The service start mode depends on which container engine is selected, and, for WSL, on whether it is needed to maintain host.docker.internal and gateway.docker.internal in the Win32 hosts file. This is controlled by a setting under Use the WSL 2 based engine in the settings page. When this is set, WSL engine behaves the same as Hyper-V. So:
With Windows containers, or Hyper-v Linux containers, the service is started when the system boots and runs all the time, even when Docker Desktop isn’t running. This is required so you can launch Docker Desktop without admin privileges.
With WSL2 Linux containers, the service isn’t necessary and therefore doesn’t run automatically when the system boots. When you switch to Windows containers or Hyper-V Linux containers, or choose to maintain host.docker.internal and gateway.docker.internal in the Win32 hosts file, a UAC prompt is displayed which asks you to accept the privileged operation to start the service. If accepted, the service is started and set to start automatically upon the next Windows boot.
The usecase I need to support is switching between Windows containers and Linux containers without a UAC prompt. From what I can gather, this would require the Docker Desktop Service to always start, regardless of what container engine is currently selected.