Generally speaking, sharing files between MacOS and a virtual OS on a hypervisor breaks down when too many reads or writes are required in a short amount of time. Specifically, I am thinking of the speed of shared volumes. I suspected-correctly-that Docker would fall prey to some of the same shortcomings as Vagrant. Then I went to DockerCon this April, which finally gave me enough momentum to figure out how to integrate it into my development workflow. While I’d been interested in Docker for a while, I hadn’t had the time and energy to really dive into it. Alternatively, running two or more virtual machines at once can eat up all of my computer’s resources. Spinning a full VM up and down can take a while. Working at a consultancy, sometimes I need to switch back and forth between multiple projects in a day.
Hypothetically, it offers all the benefits of virtualized development environments like Vagrant (stable, re-creatable, isolated, etc.) but requires fewer resources. For about two years, I’ve wanted to use Docker for local development.