Vagrantfile<1>--Introduction&Commands

Introduction

Vagrant is a tool for building and managing virtual machine environments.

Why do I use it?

To keep my local machine clean!!!     <(▰˘◡˘▰)>

Home Page

Installation

  1. Install Homebrew

    1
    /usr/bin/ruby -e "$(curl -fsSL https://	raw.githubusercontent.com/Homebrew/install/master/	install)"
  2. Install Virtualbox

    1
    brew cask install virtualbox
  3. Install Vagrant

    1
    brew cask install vagrant

Commands

Basic Commands

Command Usage
vagrant display all available subcommands
vagrant {subcommand} -h display usage for subcommands
vagrant box add add vagrant box
vagrant destroy destroys all resources that were created (doesn’t remove box installed during vagrant up)
vagrant halt shuts down the running machine Vagrant is managing
vagrant init init current directory by creating Vagrantfile
vagrant ssh ssh into vm
vagrant status display state of vms in this directory
vagrant up creates and configures guest machines according to your Vagrantfile

Common Commands

Command Usage
vagrant box list list all boxes
vagrant box remove remove a box
vagrant global-status show state of created machines for current user (vagrant status is only for current)
vagrant provision runs any configured provisioners against the running VM
vagrant reload vagrant halt; vagrant up. It can apply changes of Vagrantfile
vagrant resume resume machine that is vagrant suspend
vagrant snapshot similar as git stash, pop. Useful to try things and restore state
vagrant suspend suspend a VM instead of halt it. It no longer consume RAM.
vagrant validate validate Vagrantfile

Cloud&Share Commands

Command Usage
vagrant cloud manage things related to Vagrant Cloud
vagrant connect enabling access to shared environments by vagrant share
vagrant login authenticate with protected boxes in HashiCorp’s Vagrant Cloud or using vagrant share
vagrant share share vagrant environment with anyone else in world

Others

Command Usage
vagrant package package into a re-usable box
vagrant plugin manage plugins (we have a vagrant-libvirt plugin)
vagrant port displays the full list of guest ports mapped to the host machine ports
vagrant powershell this is only available for windows
vagrant rdp this is only available for windows
vagrant ssh-config This will output valid configuration for an SSH config file
vagrant version display version info