In late 2012 I got religion about Vagrant ( ) after hearing about it all year.

What is Vagrant?

Using virtual machines running locally on your workstation, Vagrant lets you define the environment your application will run in and quickly iterate on both your application and its environment.

Your Vagrant environment can consist of a single VM or multiple VMs running a wide variety of operating systems listed at (most are unofficial, except those from

Vagrant quickstart

Vagrant operates on the file named Vagrantfile in your current working directory. Here's an example Vagrantfile that sets up an Ubuntu 12.04 (Precise Pangolin) environment: do |config|     = "precise64"
  config.vm.box_url = ""

Once you have Vagrant installed, you can run vagrant init to create a Vagrantfile in your current working directory. Try replacing its content with the lines above and running vagrant up. After the VM has booted try vagrant ssh and sudo to root. Then log out and run vagrant destroy.

Vagrantfile examples

To see more complicated environments, look at the Vagrantfile for these projects:

Vagrant snapshots (with Sahara)

  • vagrant sandbox on
  • vagrant sandbox commit or vagrant sandbox rollback
  • vagrant sandbox off

After installing

Vagrant base boxes

Home | About | Sitemap | Recent changes | © 2016 Philip Durbin | @philipdurbin |