External Drive trigger Docker Desktop Stopped status

Hello to all!

I’ve been using Docker (v.4.18.0) mainly to run a Jellyfin server in my notebook with Pop!_OS 22.04 LTS as my only OS.

To access my media, I have an external HDD mounted to Docker Desktop via Settings > Resources > File Sharing so Jellyfin’s Container can recognize it as its media path.

What seems strange to me is that every time I unmount the external HDD from my system, Docker Desktop triggers the “Docker Desktop Stopped…” status, even with the Container itself stopped or deleted. Removing the media path from settings.json file solves the problem.

I can understand the Container not recognizing or even not starting while the external HDD is unmounted, but is it a normal behavior for Docker Desktop not to properly start if so? And if not, is there any solution to it?

The only scenario for now seems to be unmounting and re-mounting the media path every time I launch Docker Desktop, even if it is to work with other Images and Containers - which is kind of crazy.

Thanks,

Docker Desktop always runs in a utility vm. When you mount/unmount your hdd, you do it on a vm level, not on container level.

If you used docker-ce, you could leverage bind propagation to make the container aware of mount/unmount of the drive.

Hello, @meyay! Thanks for you reply.

Sure, but still shouldn’t it “assume” that having /home as default directory should be enough to start Docker Desktop without any issues?

How exactly did you try to mount the external HDD? I have just tried to mount my USB HDD into a container through Docker Desktop on my Mac and worked. Of course Linux is different and I can’t try ot on Linux now. Docker Desktop for Linux uses qemu for the Vitual Machine. If Qemu cannot handle removing a device that could make Docker Desktop crash.

Note that I didn’t mount the fodler of the HDD directly. I only mounted the parent folder. In my case /Volumes which is automatically mounted into the virtual machine of Docker Desktop. On Linux it would be /media unless you mounted the HDD under /mnt or anywhere else.

If you mounted the fodler of the HDD and not the parent folder, try with the parent.