DEV Community

Andrew Pazikas
Andrew Pazikas

Posted on • Originally published at pazikas.com

Vagrant Comand Cheat Sheet

Some useful commands I have collected to act as a Vagrant cheat sheet for using Vagrant. More for my own reference than anything else but sharing and posting on my blog is always good for each future reference. Expect this Vagrant cheat sheet article to be updated over time as I add more to it to become an all-inclusive vagrant cheat sheet.

Creating a VM

vagrant init — Initialize Vagrant with a Vagrantfile and ./.vagrant directory, using no specified base image. Before you can do vagrant up, you’ll need to specify a base image in the Vagrantfile.
vagrant init <boxpath> — Initialize Vagrant with a specific box. To find a box, go to the public Vagrant box catalog. When you find one you like, just replace its name with box path. For example, vagrant init ubuntu/trusty64.

Starting a VM

vagrant up - starts vagrant environment (also provisions only on the FIRST vagrant up)
vagrant resume — resume a suspended machine (vagrant up works just fine for this as well)
vagrant provision — forces reprovisioning of the vagrant machine
vagrant reload — restarts the Vagrant machine, loads new Vagrantfile configuration
vagrant reload --provision — restart the virtual machine and force provisioning

Getting into a VM

vagrant ssh — connects to the machine via SSH
vagrant ssh <boxname> — If you give your box a name in your Vagrantfile, you can ssh into it with the box name. Works from any directory.

Stopping a VM

vagrant halt — stops the vagrant machine
vagrant suspend — suspends a virtual machine (remembers state)

Cleaning Up a VM

vagrant destroy — stops and deletes all traces of the vagrant machine
vagrant destroy -f — same as above, without confirmation

Boxes

vagrant box list — see a list of all installed boxes on your computer
vagrant box add <name> <url> — download a box image to your computer
vagrant box outdated — check for updates vagrant box update
vagrant boxes remove <name> — deletes a box from the machine
vagrant package — packages a running VirtualBox env in a reusable box

Saving Progress

vagrant snapshot save [options] [vm-name] <name> — vm-name is often default. Allows us to save so that we can rollback at a later time

Tips

vagrant -v — get the vagrant version
vagrant status — outputs status of the vagrant machine
vagrant global-status — outputs status of all vagrant machines
vagrant global-status --prune — same as above, but prunes invalid entries
vagrant provision --debug — use the debug flag to increase the verbosity of the output
vagrant push — yes, vagrant can be configured to deploy code!
vagrant up --provision | tee provision.log — Runs vagrant up, forces provisioning, and logs all output to a file

If you know of any useful commands to add to this vagrant cheat sheet leave a comment and ill get them added.

Top comments (0)