tl;dr: Docker's default bind mount performance for projects requiring lots of I/O on macOS is abysmal. It's acceptable (but still very slow) if you use the
delegatedoption. But it's actually fairly performant using the barely-documented NFS option!
July 2020 Update: Docker for Mac may soon offer built-in Mutagen sync via the
:delegatedsync option, and I did some benchmarking here. Hopefully that feature makes it to the standard Docker for Mac version soon.
Ever since Docker for Mac was released, shared volume performance has been a major pain point. It was painfully slow, and the community finally got a
cached mode that offered a 20-30x speedup for common disk access patterns around 2017. Since then, the File system performance improvements issue has been a common place to gripe about the lack of improvements to the underlying