Download and install both Vagrant and VirtualBox.
vagrant up
vagrant provision
vagrant destroy
vagrant halt
vagrant ssh
Vagrant and docker both essentially do the same thing, that is provision an isolated development environment with the ability to quickly start and destroy them.
Simplicity: For monoliths, Vagrant is great since you'll have a deal with a much smaller subset of commands and problems than you do with docker. It's as simple as downloading vagrant and virtualbox and running vagrant up and vagrant ssh.
Lightweight: Docker containers however are much smaller than vagrant boxes, and mimic the exact build used for production since they are shared and reusable post-build.
Composability: However, Docker is more complex to use and requires having around 5+ verbose commands just to start using it. While it can be difficult to coordinate multiple Docker containers on a development machine, it's the best viable solution for coordinating micro-services and service-oriented architectures.