They're not mutually exclusive. Vagrant is for providing a copy of the production environment on a development machine easily and reproducibly. If you use Docker in production, then you should also include it in your Vagrant image. If you don't, then don't.
If your goal is just to provide a copy of prod for developers, and you don't currently use Docker, then you probably just want Vagrant.
Good presentation (sales pitch? :D) by the creator Vagrant: youtu.be/Im4wNqlolqQ
Well, vagrant is for provisioning your application, docker is for provisioning your machine (environment/box), or at least that is how I have started to look at it - so I totally agree they are not mutually exclusive, but i have also found that you can acheive similar results in both. I think about it a bit like NPM and BOWER too (OK calm down, very loosely I mean), while you 'could' do either job with either tool (both package managers) ther is some value in the speration of concerns between the two.
Patrick Kasarski
They're not mutually exclusive. Vagrant is for providing a copy of the production environment on a development machine easily and reproducibly. If you use Docker in production, then you should also include it in your Vagrant image. If you don't, then don't.
If your goal is just to provide a copy of prod for developers, and you don't currently use Docker, then you probably just want Vagrant.
Good presentation (sales pitch? :D) by the creator Vagrant: youtu.be/Im4wNqlolqQ