Docker Desktop doesn't start as non-admin user

I’ve been using Docker for a while now and since the last 2 months that Docker Desktop doesn’t start anymore. Both Docker Desktop as my Windows 10 are fully up-to-date (Windows 10 20H2). I am using Docker in combination with WSL2.

When I start Docker Desktop with “run as administrator” it starts up fine. But then I (ofcourse) don’t have access to my own WSL2 distribution because that is available as my normal user and not as the administrator.

I do get a logfile in AppData\Roaming\Docker\log\host and it starts to boot. But then it just stops. Without any error. If I compare it to the logfile of the local administrator it just continues after that. The file below is the logfile of the failed start.

logfile
time="2021-02-16T15:59:49+01:00" level=info msg="starting backend server"
time="2021-02-16T15:59:49+01:00" level=info msg="started port-forwarding control server on \\\\.\\pipe\\dockerVpnKitControl"
time="2021-02-16T15:59:49+01:00" level=info msg="listening on unix:\\\\.\\pipe\\dockerVpnkitData for data connection"
time="2021-02-16T15:59:49+01:00" level=error msg="unable to query WslEngineEnabled state after 0s. Last error was Get \"http://unix/settings\": open \\\\.\\pipe\\dockerWebApiServer: The system cannot find the file specified."
goroutine 1 [running]:
github.com/docker/pinata/common/pkg/volume.isWSL2Enabled(0x60)
	C:/workspaces/master/src/github.com/docker/pinata/common/pkg/volume/sharer_windows.go:32 +0x227
github.com/docker/pinata/common/pkg/volume.NewSharer(0x1fb4d3a, 0x6, 0x1c93af6, 0xc0007bfe20, 0x1c93af6, 0x8)
	C:/workspaces/master/src/github.com/docker/pinata/common/pkg/volume/sharer_windows.go:12 +0x2d
main.startVolumeWatching(0xc000374600, 0x21d3300, 0xc0003bcc00)
	C:/workspaces/master/src/github.com/docker/pinata/common/cmd/com.docker.backend/main.go:171 +0x52
main.main()
	C:/workspaces/master/src/github.com/docker/pinata/common/cmd/com.docker.backend/main.go:108 +0x638
time="2021-02-16T15:59:49+01:00" level=info msg="adding routes for /docker.tar"
time="2021-02-16T15:59:49+01:00" level=info msg="adding routes for /docker.tar"
time="2021-02-16T15:59:49+01:00" level=info msg="adding routes for /kube-images.tar"
time="2021-02-16T15:59:49+01:00" level=info msg="adding routes for /kube-images.tar"
time="2021-02-16T15:59:49+01:00" level=info msg="adding routes for /services.tar -> C:\\Program Files\\Docker\\Docker\\resources\\services.tar"
time="2021-02-16T15:59:49+01:00" level=info msg="adding routes for /services.tar -> C:\\Program Files\\Docker\\Docker\\resources\\services.tar"
time="2021-02-16T15:59:49+01:00" level=info msg="external: GET /ping 200 \"DockerDesktopCSharp\" \"\""
time="2021-02-16T15:59:49+01:00" level=info msg="external: GET /features 200 \"DockerDesktopCSharp\" \"\""
time="2021-02-16T15:59:55+01:00" level=info msg="NewSharer: WSL2 engine is enabled so no file sharer is required."
time="2021-02-16T15:59:55+01:00" level=info msg="enabling filesystem caching"
time="2021-02-16T15:59:55+01:00" level=info msg="filesystem exports are:  (2)"
time="2021-02-16T15:59:55+01:00" level=info msg="volume control server listening on \\\\.\\pipe\\dockerVolume"
time="2021-02-16T15:59:55+01:00" level=info msg="filesystem server listening on 00000000-0000-0000-0000-000000000000:00001003-facb-11e6-bd58-64006a7986d3"
time="2021-02-16T15:59:55+01:00" level=info msg="file ownership will be determined by the calling user (\"fake owner\" mode)"
time="2021-02-16T15:59:55+01:00" level=info msg="using mfsymlinks"
time="2021-02-16T15:59:56+01:00" level=info msg="user is part of free plan"
time="2021-02-16T15:59:56+01:00" level=info msg="entitlement: {PlanName:free Desktop:{Enabled:false}}"
time="2021-02-16T15:59:56+01:00" level=info msg="external: POST /hub-login 200 \"DockerDesktopCSharp\" \"\""

Hi, did you get this resolved? I have exactly the same problem.

Same here. Reinstalled Docker Desktop (3.4) but won’t start as non-elevated user anymore.

Because of this problem I’ve upgraded to a paid account and I’ve got some support of Docker. It is a bug in Docker which causes this issue, there is a work-around available however if you have this issue and want to start Docker again. The bug is mainly because of a hanging update which isn’t able to do anything and prevents Docker from starting up.

In Powershell execute: Get-BitsTransfer -Name "Docker Desktop Update" | Remove-BitsTransfer

Now you can start Docker again.

Just be aware that you have to upgrade Docker manually to newer versions if you don’t have an admin account. Event the “Update & Restart” doesn’t work in the case that you are not directly working with an admin account in Windows.

2 Likes

Luckily, after numerous reinstalls, removing AppData\Roaming\Docker and AppData\Roaming\Docker Desktop from both my non-admin user account and my admin user account, did the trick.

You saved my life kind internet denizen.