

Sandboxed environments: If you want a sandboxed environment for testing, you could use Vagrant to spin up and destroy VMs in minutes.Some companies host Vagrant boxes in a common location for different approved software so everyone in the organization can use it. This way, there will not be any change in the underlying software or configs used.

And then share the Vagrantfile with all the developers. In this case, you can create a common Vagrantfile with all the configs required to provision the VM with development environment dependencies (Software).

Vagrant Box = Virtual Machine Image (Something similar to the ISO image you use with the virtual box to create VMs from scratch) In the sample Vagrantfile, you can see a parameter named “ config.vm.box“. A similar workflow like how Docker Works Vagrant Boxes If someone has Vagrant installed on their system, you can share the Vagrantfile with them and they can build a similar VM you have created. Here is an example Vagrantfile, # -*- mode: ruby -*-Ĭonfig.vm.network "private_network", ip: "192.168.33.10" To put it simply, you define everything you need in a VM in the Vagrantfile, and Vagrant will take care of configuring those in the VM. Using Vagrant, you can easily create virtual development environments from exiting VM images and have all the VM configs in a configuration file called Vagrantfile. It abstracts away all the complex activities involved in managing a VM through the VM solutions and can automate most of the tasks. It is a wrapper utility that works on top of Virtual machine solutions like Virtualbox, HyperV, VMware, and also Docker. Vagrant is an open-source utility created by guys in Hashicorp.
