This has been known and grudgingly tolerated by every team I’ve been on that uses Docker. Occasionally someone will get sick of it and introduce something like docker-sync [1], essentially just to rsync a directory instead of using a volume, then later someone else will find an issue with it and rip it out… usually on a 2-4 year cadence. It’s amazing this is still an issue for Docker Desktop on both Mac and Windows.
With their new nagging un-skippable updates, the future isn’t looking bright for this product.
Agreed, and now they're charging up to $21 per user per month for large enterprises to use Docker Desktop for Mac after years of ignoring the community on issues like this.
Granted, you can still build and install the docker cli and use it to interface with the daemon running inside of a VM for free, but I doubt it'll be long until they close that loophole. My guess is they'll either move docker cli under the same licensing umbrella or simply make it too difficult for most users to build and run in a standalone fashion on MacOS.
In my experience, gRPC FUSE[1] volume mount improves performance quite a bit, and we only observe up to 10% performance decrease when using volume mounts instead of code living on the DockerForMac VM.
However, I do wonder, if Docker Desktop performance is worse than running Docker on VM in multipass/VirtualBox/VMWare, even if there is no file sharing from host OS.
Hate its popularity at my job.. it’s fine if you want to use it for a tech stack in the background like a db or cloud emulation.. but call me old fashioned I think if you’re walking around calling yourself a software engineer, loading up software and tools is part of the job.
+1 That's not a thing at my job but I have given up using docker to replace the native dev environment. The idea of having each dev environment isolated and therefore not polluting the host system seems appealing but impractical. Performance penalty is a big issue if you are not on a Linux desktop. Docker can be handy at times for things like bootstrapping an integration test environment but I prefer having a native dev environment where I can run commands for the projects, run unit tests locally and debug easily, all of which require extra hoops to jump through if done in Docker.
Can you retest with experimental virtualization enabled? At least on my M1 this boosted performance a LOT (in addition to using gRPC FUSE mounts, as a other commenter also posted)
I’m going to try this later. I noticed the slowdown switching from a relatively weak Linux server to my M1 Macbook and had already accepted the disappointment of the M1 not being so great after all.
We use NFS for volume sharing for Docker Desktop on OSX and it's really fast (edit: really fast compared to without it, still not as good as Docker on Linux).
Maybe a dumb question, but are they running M1 with the ARM version of Docker & Ruby? I imagine it’s probably difficult to accidentally get the AMD64 version, but I didn’t see that detail in the benchmark
it's not really an improvement if you have to run your dev environment inside a VM, with the inconvenience of not having access to the files in the host.
[+] [-] goodells|4 years ago|reply
With their new nagging un-skippable updates, the future isn’t looking bright for this product.
[1] - http://docker-sync.io/
[+] [-] noptd|4 years ago|reply
Granted, you can still build and install the docker cli and use it to interface with the daemon running inside of a VM for free, but I doubt it'll be long until they close that loophole. My guess is they'll either move docker cli under the same licensing umbrella or simply make it too difficult for most users to build and run in a standalone fashion on MacOS.
[+] [-] watermelon0|4 years ago|reply
However, I do wonder, if Docker Desktop performance is worse than running Docker on VM in multipass/VirtualBox/VMWare, even if there is no file sharing from host OS.
[1] - https://www.docker.com/blog/deep-dive-into-new-docker-deskto...
[+] [-] awill88|4 years ago|reply
[+] [-] joecai|4 years ago|reply
[+] [-] NiekvdMaas|4 years ago|reply
[+] [-] fabienpenso|4 years ago|reply
[+] [-] solarkraft|4 years ago|reply
[+] [-] teddyc|4 years ago|reply
See: https://medium.com/@sean.handley/how-to-set-up-docker-for-ma...
[+] [-] awill88|4 years ago|reply
[+] [-] fabienpenso|4 years ago|reply
[+] [-] chii|4 years ago|reply
[+] [-] fabienpenso|4 years ago|reply
[+] [-] heydemo|4 years ago|reply