dragon788 (dragon788)
unread,May 3, 2023, 3:12:17 PM5/3/23Sign in to reply to author
Sign in to forward
You do not have permission to delete messages in this group
Either email addresses are anonymous for this group or you need the view member email addresses permission to view the original message
to ChromiumOS Discussion, Gabriel Genkov, dragon788, ChromiumOS Discussion
This is maybe close to the dumbest workaround I've ever had to do, but the issue appears to be when it tries to use `/home` as a default in the `"filesharingDirectories":` that it can't start.
Stop any attempts at running Docker Desktop by running this in the terminal, `systemctl stop --user docker-desktop`
Edit Docker Desktop's settings.json with your favorite editor `nano ~/.docker/desktop/settings.json` and remove the contents of the `"filesharingDirectories": [ "/home" ],` so it is just two empty square brackets ie `"filesharingDirectories": [ ],` and then save the file and try opening Docker Desktop again.
Unfortunately it looks like ANY path being specified in the filesharing directories causes it to fail, it doesn't appear to matter whether useGrpcfuse is enabled or disabled and it doesn't appear the Virtiofs toggle helps at all.
It may be something about running under "nested virtualization" ie Linux apps on ChromeOS run inside a VM named Termina that in turn hosts a Debian LXD container which is what users interact with, but I have a feeling it is more an issue of Docker trying to be clever with permissions and not expecting the setup that Crostini uses.
I don't have time to play with it more today, but you CAN apparently create volumes if you need to persist data, and then it might be possible to copy data out using `docker cp` from the command line, but I haven't tested that yet.
Because of the extra layers of indirection, I would HIGHLY recommend just using the Docker CLI (completely uninstall Docker Desktop and just install docker-ce) as you are IN native Linux and will be able to bind mount and create volumes without the extra pain induced by Docker Desktop's architecture decisions.
This is the actual error you will likely see if you try adding a new fileshare through the UI after getting the app to start with the workaround above.
# this is a VERY long line, TL;DR it can't mount
lifecycle-server bootstrap failed: mounting host fileserver: mounting host fileserver: running "mount -t virtiofs -onosuid,nodev virtiofs0 /host_mnt/home", output "mount: /host_mnt/home: wrong fs type, bad option, bad superblock on virtiofs0, missing codepage or helper program, or other error.