Ubuntu Docker Desktop: Docker Engine Stopped

I’m new to docker and have successfully installed docker desktop on my ubuntu 22 machine and had it working as expected.
However on reboot of my laptop docker desktop shows docker engine stopped.
Previously I re-installed to get it working again but this morning after a reboot it’s failed again.
I’ve followed a few suggestions from the official documentation and added a user to libvert and checked kvm status.
The docker service was not active so I’ve started that and restarted docker desktop but still states Docker Engine Stopped.
I’ve checked the self diagnose tool and can see some warnings and errors but can’t see how to resolve from searches and I’m not sure what I’m doing will help or break.
When I try settings in docker desktop I just get a spinning wheel

Here is the output from the diagnose check:

/opt/docker-desktop/bin/com.docker.diagnose check
[2023-04-15T08:14:26.495919244Z][com.docker.diagnose][I] set path configuration to OnHost
Starting diagnostics

[PASS] DD0039: are KVM user permissions configured?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0001: is the application running?
[PASS] DD0017: can a VM be started?
[PASS] DD0016: is the LinuxKit VM running?
[FAIL] DD0011: are the LinuxKit services running? failed to ping VM diagnosticsd with error: Get "http://ipc/ping": dial unix diagnosticd.sock: connect: connection refused
[2023-04-15T08:14:26.535402128Z][com.docker.diagnose][I] ipc.NewClient: 9d6b9a19-diagnose -> diagnosticd.sock diagnosticsd
[2023-04-15T08:14:26.535656237Z][com.docker.diagnose][I] (bf2bb465) 9d6b9a19-diagnose C->S diagnosticsd GET /ping
[2023-04-15T08:14:26.538082480Z][com.docker.diagnose][W] (bf2bb465) 9d6b9a19-diagnose C<-S NoResponse GET /ping (2.394441ms): Get "http://ipc/ping": dial unix diagnosticd.sock: connect: connection refused

[FAIL] DD0004: is the Docker engine running? Get "http://ipc/docker": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:26.538470538Z][com.docker.diagnose][I] ipc.NewClient: 23d39189-com.docker.diagnose -> lifecycle-server.sock VMDockerdAPI
[2023-04-15T08:14:26.538684721Z][com.docker.diagnose][I] (614fae8b) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /docker
[2023-04-15T08:14:26.539653904Z][com.docker.diagnose][W] (614fae8b) 23d39189-com.docker.diagnose C<-S NoResponse GET /docker (946.957µs): Get "http://ipc/docker": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:26.539943536Z][com.docker.diagnose][I] (614fae8b-1) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:26.540374567Z][com.docker.diagnose][W] (614fae8b-1) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (427.155µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:27.541119338Z][com.docker.diagnose][I] (614fae8b-2) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:27.541828079Z][com.docker.diagnose][W] (614fae8b-2) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (730.075µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:28.542675167Z][com.docker.diagnose][I] (614fae8b-3) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:28.543265215Z][com.docker.diagnose][W] (614fae8b-3) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (602.656µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:29.544289902Z][com.docker.diagnose][I] (614fae8b-4) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:29.544857814Z][com.docker.diagnose][W] (614fae8b-4) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (566.435µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:30.545541009Z][com.docker.diagnose][I] (614fae8b-5) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:30.546295753Z][com.docker.diagnose][W] (614fae8b-5) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (757.352µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:31.547358499Z][com.docker.diagnose][I] (614fae8b-6) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:31.548121789Z][com.docker.diagnose][W] (614fae8b-6) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (779.572µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:32.549141595Z][com.docker.diagnose][I] (614fae8b-7) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:32.549633282Z][com.docker.diagnose][W] (614fae8b-7) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (471.872µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused
[2023-04-15T08:14:33.550339884Z][com.docker.diagnose][I] (614fae8b-8) 23d39189-com.docker.diagnose C->S VMDockerdAPI GET /ping
[2023-04-15T08:14:33.551294806Z][com.docker.diagnose][W] (614fae8b-8) 23d39189-com.docker.diagnose C<-S NoResponse GET /ping (952.568µs): Get "http://ipc/ping": dial unix lifecycle-server.sock: connect: connection refused

[PASS] DD0015: are the binary symlinks installed?
[FAIL] DD0031: does the Docker API work? Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?
[PASS] DD0013: is the $PATH ok?
[PASS] DD0034: is Context set to a Docker Desktop context?
Cannot connect to the Docker daemon at unix:///home/ray/.docker/desktop/docker.sock. Is the docker daemon running?
[FAIL] DD0003: is the Docker CLI working? exit status 1
[PASS] DD0038: is the connection to Docker working?
[FAIL] DD0014: are the backend processes running? 3 errors occurred:
	* querying com.docker.backend process: is it running as a different user?: readlink /proc/3841/exe: permission denied
	* com.docker.driver.amd64-linux is not running
	* qemu-system-x86_64 is not running


[PASS] DD0007: is the backend responding?
[PASS] DD0008: is the native API responding?
[SKIP] DD0009: is the vpnkit API responding?
[FAIL] DD0010: is the Docker API proxy responding? failed to ping Docker proxy API with error: Get "http://ipc/desktop-diagnostics/ping": dial unix /home/ray/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:34.856895519Z][com.docker.diagnose][I] ipc.NewClient: a074199b-diagnose -> <HOME>/.docker/desktop/docker.sock Proxy
[2023-04-15T08:14:34.857183227Z][com.docker.diagnose][I] (a1aa5df2) a074199b-diagnose C->S Proxy GET /desktop-diagnostics/ping
[2023-04-15T08:14:34.858349502Z][com.docker.diagnose][W] (a1aa5df2) a074199b-diagnose C<-S NoResponse GET /desktop-diagnostics/ping (1.138901ms): Get "http://ipc/desktop-diagnostics/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:34.859148047Z][com.docker.diagnose][I] (a1aa5df2-1) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:34.859860084Z][com.docker.diagnose][W] (a1aa5df2-1) a074199b-diagnose C<-S NoResponse GET /ping (702.3µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:35.861171132Z][com.docker.diagnose][I] (a1aa5df2-2) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:35.861650489Z][com.docker.diagnose][W] (a1aa5df2-2) a074199b-diagnose C<-S NoResponse GET /ping (476.527µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:36.862945678Z][com.docker.diagnose][I] (a1aa5df2-3) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:36.863473499Z][com.docker.diagnose][W] (a1aa5df2-3) a074199b-diagnose C<-S NoResponse GET /ping (499.305µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:37.864523982Z][com.docker.diagnose][I] (a1aa5df2-4) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:37.865436116Z][com.docker.diagnose][W] (a1aa5df2-4) a074199b-diagnose C<-S NoResponse GET /ping (906.79µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:38.866967521Z][com.docker.diagnose][I] (a1aa5df2-5) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:38.867887477Z][com.docker.diagnose][W] (a1aa5df2-5) a074199b-diagnose C<-S NoResponse GET /ping (898.218µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:39.869149670Z][com.docker.diagnose][I] (a1aa5df2-6) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:39.869844243Z][com.docker.diagnose][W] (a1aa5df2-6) a074199b-diagnose C<-S NoResponse GET /ping (685.937µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:40.871318922Z][com.docker.diagnose][I] (a1aa5df2-7) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:40.872034187Z][com.docker.diagnose][W] (a1aa5df2-7) a074199b-diagnose C<-S NoResponse GET /ping (710.006µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused
[2023-04-15T08:14:41.873636729Z][com.docker.diagnose][I] (a1aa5df2-8) a074199b-diagnose C->S Proxy GET /ping
[2023-04-15T08:14:41.874163073Z][com.docker.diagnose][W] (a1aa5df2-8) a074199b-diagnose C<-S NoResponse GET /ping (522.887µs): Get "http://ipc/ping": dial unix <HOME>/.docker/desktop/docker.sock: connect: connection refused

[SKIP] DD0030: is the image access management authorized?
[PASS] DD0037: is the virtiofs setup correct?
[PASS] DD0036: is the credentials store configured correctly?
[PASS] DD0033: does the host have Internet access?
[PASS] DD0039: are KVM user permissions configured?
[PASS] DD0018: does the host support virtualization?
[PASS] DD0001: is the application running?
[PASS] DD0017: can a VM be started?
[PASS] DD0016: is the LinuxKit VM running?
[WARN] DD0011: are the LinuxKit services running? failed to ping VM diagnosticsd with error: Get "http://ipc/ping": dial unix diagnosticd.sock: connect: connection refused
[WARN] DD0004: is the Docker engine running? Get "http://ipc/docker": dial unix lifecycle-server.sock: connect: connection refused
[PASS] DD0015: are the binary symlinks installed?
[WARN] DD0031: does the Docker API work? Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?
[WARN] DD0032: do Docker networks overlap with host IPs? Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?

Please note the following 4 warnings:

1 : The check: are the LinuxKit services running?
    Produced the following warning: failed to ping VM diagnosticsd with error: Get "http://ipc/ping": dial unix diagnosticd.sock: connect: connection refused

The Docker engine runs inside a Linux VM as a service. Therefore the services must have started.

2 : The check: is the Docker engine running?
    Produced the following warning: Get "http://ipc/docker": dial unix lifecycle-server.sock: connect: connection refused

The Docker engine manages all containers and images on the host. Check the dockerd.log to see why it failed to start.

3 : The check: does the Docker API work?
    Produced the following warning: Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?

If the Docker API is not available from the host then Docker Desktop will not work correctly.

4 : The check: do Docker networks overlap with host IPs?
    Produced the following warning: Cannot connect to the Docker daemon at unix://docker.raw.sock. Is the docker daemon running?

If the subnet used by a Docker network overlaps with an IP used by the host, then containers
won't be able to contact the overlapping IP addresses.

Try configuring the IP address range used by networks: in your docker-compose.yml.
See https://docs.docker.com/compose/compose-file/compose-file-v2/#ipv4_address-ipv6_address


Please investigate the following 2 issues:

1 : The test: are the LinuxKit services running?
    Failed with: failed to ping VM diagnosticsd with error: Get "http://ipc/ping": dial unix diagnosticd.sock: connect: connection refused

The Docker engine runs inside a Linux VM as a service. Therefore the services must have started.

2 : The test: are the backend processes running?
    Failed with: 3 errors occurred:
	* querying com.docker.backend process: is it running as a different user?: readlink /proc/3841/exe: permission denied
	* com.docker.driver.amd64-linux is not running
	* qemu-system-x86_64 is not running



Not all of the backend processes are running.

Where should I start to resolve this issue?

Looks like you have a lot of error messages, but I don’t use Docker Desktop on Linux often I don’t fully understand them.

Did you read about that somewhere? I don’t think “libvirt” is installed with Docker Desktop, but I could easily be wrong.

Did you see the virtual machine running? I think you should see the kvm processes

ps aux | grep kvm

I don’t understand the sugestions of the diagnostic as the linuxkit services are running inside the virtual machine and most of the users would not even know how to enter the vitual machine without (or even with) the docker commands to check whether the services are running or not.

I think the most important error message in the list is this

[FAIL] DD0014: are the backend processes running? 3 errors occurred:
	* querying com.docker.backend process: is it running as a different user?: readlink /proc/3841/exe: permission denied
	* com.docker.driver.amd64-linux is not running
	* qemu-system-x86_64 is not running

I found an old, similar issue

But that was related to Docker Desktop 4.11.

If you don’t find a solution based on that issue and we can’t help either, you can create a new issue on GitHub.

Hi - thank you for your help - I’ll work through the suggestions and maybe revert to the older version flagged above to see if that helps
Thank you

@rimelek and @raycrane I am seeing this same behavior. I first noticed when my laptop’s battery died. After diving into this a bit it only occurs when the machine powers down (either triggered by a dying battery or by a manual reboot) while there are containers running. I also have not found a “solution” when this occurs other than a complete uninstall and install. I am in the process of creating my own shutdown script to run on shutdown that will stop all containers and stop the docker engine on shutdown. My initial attempts of just calling systemctl --user stop docker-desktop were not successful and I still had to reinstall.

so, after a far bit more messing around, the problem was shared file resource that i was adding for my test project was a tmp file being removed on restart :frowning: … So the problem was having a non existent directory in my shared resources. there is an issue open for this already: Docker Desktop failed to start after adding a non-existent path in the File Sharing Settings · Issue #132 · docker/desktop-linux · GitHub. @raycrane

1 Like

Hi @mkero - thanks for the update. I ran through a number of things with support which ultimately led to a reinstall. However it still fails to start on occasions following a reboot.
One thing that did work after a reboot was to log out of the ubuntu desktop and then log in - this seems to work although it did need to logout twice - maybe the logout clears a resource that reboot doesn’t?
It seems to be a file permission issue but unclear what that is but a log out and log in seems to work for now - although very annoying

It took a few goes this morning - also needed to log out of the desktop app.
I didn’t have any temp files in the settings file but I have a mounted drive which needed to reconnect - I delayed starting docker desktop until I was certain that was available and it worked on the next attempt

1 Like