Running Docker Desktop 4.13 on Archlinux


I’ve struggled for a little while to get the “alpha, non-reviewed” Docker Desktop package to run on Arch. The solution wound up being simple and obvious, but I didn’t catch it because of how Docker Desktop’s documentation is structured.

When running Docker Desktop after installation, it would hang at “Starting….” and never complete. Browsing `journalctl -u docker-desktop -b 0″ shows:

...
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.420572868Z][com.docker.backend][I] (957e22f0) 73d4ee7d-BackendAPI S<-C Docker-Desktop/4.12.0 (Linux; x64) GET /kubernetes
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.420595084Z][com.docker.backend][I] (c40c5081) 73d4ee7d-BackendAPI S->C Docker-Desktop/4.12.0 (Linux; x64) GET /backend/state (1.021259ms): {"docker":"starting","isPaused":false,"mode":"linux","pauseError":"","pauseText":"","state":"starting"}
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.420599978Z][com.docker.backend][I] (5d4051df) 73d4ee7d-BackendAPI S<-C Docker-Desktop/4.12.0 (Linux; x64) GET /docker
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.425071498Z][com.docker.backend][I] (5d4051df) 73d4ee7d-BackendAPI S->C Docker-Desktop/4.12.0 (Linux; x64) GET /docker (4.132987ms): {"docker":"starting","isPaused":false,"mode":"linux","pauseError":"","pauseText":"","state":"starting"}
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.424636065Z][com.docker.backend][I] (957e22f0) 73d4ee7d-BackendAPI S->C Docker-Desktop/4.12.0 (Linux; x64) GET /kubernetes (3.938221ms): {"enabled":false,"state":"stopped"}
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.538719413Z][com.docker.backend][I] (8c9567be) 73d4ee7d-BackendAPI S<-C Docker-Desktop/4.12.0 (Linux; x64) GET /system/disk-usage
Oct 26 09:43:19 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:19.539462237Z][com.docker.backend][I] (8c9567be) 73d4ee7d-BackendAPI S->C Docker-Desktop/4.12.0 (Linux; x64) GET /system/disk-usage (560.754µs): {"freeMiB":166933,"path":"\u003cHOME\u003e/.docker/desktop/vms/0/data","usedMiB":436457}
Oct 26 09:43:26 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:26.144233723Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 10.009047241s. Last error was Post "http://localhost/vm/httpproxy": dial unix http-proxy-control.sock: connect: no such file or directory
Oct 26 09:43:36 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:36.152015955Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 20.016833179s. Last error was Post "http://localhost/vm/httpproxy": dial unix http-proxy-control.sock: connect: no such file or directory
Oct 26 09:43:46 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:46.162283231Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 30.027105683s. Last error was Post "http://localhost/vm/httpproxy": dial unix http-proxy-control.sock: connect: no such file or directory
Oct 26 09:43:46 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:46.353276300Z][com.docker.backend][W] 7fe6f3c4-PauseHDL /pause/events server not replying: Get "http://ipc/pause/events": dial unix procd.sock: connect: no such file or directory
Oct 26 09:43:51 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:51.326480880Z][com.docker.backend][W] could not lookup OS process' name: open /proc/69311/status: no such file or directory
Oct 26 09:43:56 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:43:56.172027188Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 40.036819077s. Last error was Post "http://localhost/vm/httpproxy": dial unix http-proxy-control.sock: connect: no such file or directory
Oct 26 09:44:06 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:44:06.182113986Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 50.046933206s. Last error was Post "http://localhost/vm/httpproxy": dial unix http-proxy-control.sock: connect: no such file or directory
Oct 26 09:44:16 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:44:16.192603376Z][com.docker.backend][W] still waiting to update HTTP proxy on http-proxy-control.sock after 1m0.057429832s. Last error was Post "http://localhost/vm/httpproxy": dial unix http-proxy-control.sock: connect: no such file or directory
Oct 26 09:44:16 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:44:16.379435742Z][com.docker.backend][W] 7fe6f3c4-PauseHDL /pause/events server not replying: Get "http://ipc/pause/events": dial unix procd.sock: connect: no such file or directory
Oct 26 09:44:16 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:44:16.801669570Z][com.docker.backend][W] timed-out waiting for graceful shutdown
Oct 26 09:44:16 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:44:16.803523427Z][com.docker.backend][I] sending signal killed to vpnkit-bridge with pid: 81224
Oct 26 09:44:16 bns-kharselim com.docker.backend[81197]: [2022-10-26T14:44:16.807059077Z][com.docker.backend][I] vpnkit-bridge with pid: 81224 shutdown by signal: killed

The solution was to browse below the click-through for Archlinux on the documentation, and to load the kvm modules: https://docs.docker.com/desktop/install/linux-install/#kvm-virtualization-support

[[email protected] ~]$ modprobe kvm
[[email protected] ~]$ modprobe kvm_intel
I also had to follow the directions in this github issue: https://github.com/docker/desktop-linux/issues/51#issuecomment-1193916889

[[email protected] ~]$ cat /etc/subgid 
berocs:10000:65536
[[email protected] ~]$ cat /etc/subuid 
berocs:10000:65536

That's all it took.