Vagrant a software tool used to create and configure virtual development environments. It works as wrapper over other virtualization software like VirtualBox or VMware. Vagrant itself is a command-line utility.
Vagrant boxes are configured using special Vagrantfile
config written in Ruby but may include additional configuration scripts written in bash, Chef or Puppet. Developers in a team can download the Vagrant configuration files from a common source and re-create the same development environment locally.
Provisioning is used to automatically configure a virtual machine. It is performed automatically when a virtual machine is first created (using vagrant up
). It can also be re-run later using vagrant provision
.