I think the majority of comments have it right; Vagrant is another abstraction layer that can utilise Docker. IMO Vagrant (with either VBox or AWS) is better suited for developers because Docker relies on the Linux Kernel. So if you're on a Mac or a different flavor of Linux, or God forbid Windoz you're going to get dev/prod discrepancies.