Hi There,
since a few weeks (I don’t know exactly when) my Docker Desktop hangs up when starting the VM. I’ve already uninstalled Docker Desktop including all folders created by it and re-installed using homebrew but it simply won’t start.
I can find the following entries in log:
Failed to fire hook: unable to create a log file for vpnkit-bridge in directory /root/.docker/desktop/log/host: creating /root/.docker/desktop/log/host: mkdir /root/.docker: read-only file system
standard 09:47:45.205172+0200 com.docker.hyperkit Failed to fire hook: unable to create a log file for vpnkit-bridge in directory /root/.docker/desktop/log/host: creating /root/.docker/desktop/log/host: mkdir /root/.docker: read-only file system
standard 09:47:46.153613+0200 vpnkit-bridge mac: still waiting for docker after 22m0.000286629s
rimelek
(Ákos Takács)
August 18, 2022, 9:19pm
2
Did you installed Docker Desktop originally with Homebrew? If you did, follow the official documentation to install Docker Desktop:
Your error message is strange to me, because there is no /root/
folder on my Mac. The error message is similar to what I see in issues related to Docker Desktop for Linux:
opened 04:30AM - 08 Jul 22 UTC
closed 09:19AM - 04 Aug 22 UTC
lifecycle/locked
<!--
************************************************************************… ************
*READ ME FIRST*
This repository is for reporting bugs with the Docker Desktop for Linux software,
which we respond to on a best-effort basis.
Do *not* paste logfiles into github issues: upload diagnostics instead, which are
only visible to Docker engineers.
community support is available from the Docker community Slack (https://www.docker.com/docker-community).
Issues without sufficient detail to debug them will be closed. They generally need
a clear title and description, steps to reproduce, and a diagnostics ID. See
https://docs.docker.com/docker-for-windows/troubleshoot/#diagnose-and-feedback for
how to generate a diagnostics ID either from inside the app or from the command line.
************************************************************************************
-->
- [x] I have tried with the latest version of Docker Desktop
- [x] I have tried disabling enabled experimental features
- [x] I have uploaded Diagnostics
- Diagnostics ID: 6dba9ac8-249f-4009-9405-315ae6e00b1c/20220708042118
### Expected behavior
Docker desktop should start after logging in.
### Actual behavior
Docker desktop freezes (or stalls for 45+ minutes) on the "Docker Desktop starting..." screen
### Information
<!--
Please, help us understand the problem. For instance:
- Is it reproducible?
- Is the problem new?
- Did the problem appear with an update?
- A reproducible case if this is a bug, Dockerfiles FTW.
-->
- Linux distro: Manjaro
- Distro version: 21.3.2
- Docker Desktop Version: v4.10.1
I see my username in the top bar and the status bar at the bottom says I have connected to the hub.
I have also manually created the `/etc/subuid` and `/etc/subgid` files and added `<USER>:10000:65536` to each of them.
I have restarted after creating the files and tried again with no luck.
The error message is different, but I searched for .docker/desktoplog/host
and found Docker Desktop for Linux only.
Thank your for your response.
I originally installed Docker Desktop the official way. Only the last try was via using Homebrew.
I also think this behavior ist strange. Maybe the log is meant to be inside the VM and not on local system?
rimelek
(Ákos Takács)
August 19, 2022, 1:28pm
4
Maybe, but I logged in the VM and found nothing there.
Which file did you find this log message? Have you tried to run diagnostic?
rimelek
(Ákos Takács)
August 20, 2022, 3:42pm
5
This is why I like to create tutorials, because I always learn something too. So I was preparing for a presentation and I tried to intentionally stop the docker daemon inside the container. I could not run any container obviously, so I wanted to check if I could still log in the virtual machine, where I got this error message immediately:
[2022-08-20T14:30:05.236083042Z][vpnkit-bridge][W] guest: docker: cannot dial dial unix /run/guest-services/docker.sock: connect: connection refused
Failed to fire hook: unable to create a log file for vpnkit-bridge in directory /root/.docker/desktop/log/host: creating /root/.docker/desktop/log/host: mkdir /root/.docker: read-only file system
I ran this command to find the desktop folder:
find / -name "desktop"
I got this:
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/allowlist/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/allowlist/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/socks/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/socks/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/sntpc/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/sntpc/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/http-proxy/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/http-proxy/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/volume-contents/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/volume-contents/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/docker/rootfs/run/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/docker/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/docker/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/docker/tmp/upper/run/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/dns-forwarder/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/dns-forwarder/tmp/upper/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/diagnose/rootfs/root/.docker/desktop
/var/lib/mount-services-cache/entries/services.tar/b847918d04f7fdcb717f385e0b9e794e0c5546b27b7b5261bef51db8c41e13d1/containers/services/diagnose/tmp/upper/root/.docker/desktop
/run/desktop
/containers/services/allowlist/rootfs/root/.docker/desktop
/containers/services/allowlist/tmp/upper/root/.docker/desktop
/containers/services/socks/rootfs/root/.docker/desktop
/containers/services/socks/tmp/upper/root/.docker/desktop
/containers/services/sntpc/rootfs/root/.docker/desktop
/containers/services/sntpc/tmp/upper/root/.docker/desktop
/containers/services/http-proxy/rootfs/root/.docker/desktop
/containers/services/http-proxy/tmp/upper/root/.docker/desktop
/containers/services/volume-contents/rootfs/root/.docker/desktop
/containers/services/volume-contents/tmp/upper/root/.docker/desktop
/containers/services/docker/rootfs/run/desktop
/containers/services/docker/rootfs/root/.docker/desktop
/containers/services/docker/tmp/upper/root/.docker/desktop
/containers/services/docker/tmp/upper/run/desktop
/containers/services/dns-forwarder/rootfs/root/.docker/desktop
/containers/services/dns-forwarder/tmp/upper/root/.docker/desktop
/containers/services/diagnose/rootfs/root/.docker/desktop
/containers/services/diagnose/tmp/upper/root/.docker/desktop
/containers/onboot/010-mount-services/tmp/upper/root/.docker/desktop
/containers/onboot/006-metadata/tmp/upper/root/.docker/desktop
So I checked this folder:
find /containers/services/docker/rootfs/root/.docker/desktop
/containers/services/docker/rootfs/root/.docker/desktop
/containers/services/docker/rootfs/root/.docker/desktop/log
/containers/services/docker/rootfs/root/.docker/desktop/log/host
/containers/services/docker/rootfs/root/.docker/desktop/log/host/lifecycle-server.log
ctr -n services.linuxkit container info vpnkit-forwarder
The output contains:
"root": {
"path": "/containers/services/vpnkit-forwarder/rootfs"
},
So that readonly filesystem error was just a result and not the cause. For some reason, docker could not start and a systemc container had no permission to create log files to report that error (I guess). In my case I caused the issue manually, but I don’t know what happened in your case.