I jump back-and-forth between Vagrant (either Chassis or VVV ) and Docker depending on which project I'm working on, and I'm generally happier when using Docker because it is much faster, demands much less memory and processing and is generally less error prone in my experience. That said, whenever I need to a) change an environment, or test different env directives to see which fits best, or b) run CLI tools that are not part of my everyday routine, I find it generally simpler to do that in Vagrant because everything is in one place and all the build scripts and config files are promptly available. With Docker you're often times using pre-built, general-purpose images that provide each piece of your environment - which is great for stability. But if an image is not a perfect fit, then you need to search for another one, or roll out your own - which might be fun, but can also be very time consuming. In the case of CLI scripts, there's usually some setup needed and you'll need some aliases added to your .bash_profile to run smoothly, so that's also some overhead. If you use them often (think wp-cli) you'll only do this once for all containers, which is fine, but if you need different tools for different projects this can also pile up fast. In short, have both at hand, they are very useful in different cases :)