Skip to content

Instantly share code, notes, and snippets.

@kmvinoth
Last active June 16, 2020 08:22
Show Gist options
  • Select an option

  • Save kmvinoth/c3571c59d977bb91077a3c1692ed2c74 to your computer and use it in GitHub Desktop.

Select an option

Save kmvinoth/c3571c59d977bb91077a3c1692ed2c74 to your computer and use it in GitHub Desktop.

Revisions

  1. kmvinoth revised this gist Jun 16, 2020. 1 changed file with 0 additions and 4 deletions.
    4 changes: 0 additions & 4 deletions vagrant_cheatsheet.md
    Original file line number Diff line number Diff line change
    @@ -1,7 +1,3 @@
    Typing `vagrant` from the command line will display a list of all available commands.

    Be sure that you are in the same directory as the Vagrantfile when running these commands!

    # 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](https://app.vagrantup.com/boxes/search). When you find one you like, just replace it's name with boxpath. For example, `vagrant init ubuntu/trusty64`.
  2. kmvinoth created this gist Jun 16, 2020.
    51 changes: 51 additions & 0 deletions vagrant_cheatsheet.md
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,51 @@
    Typing `vagrant` from the command line will display a list of all available commands.

    Be sure that you are in the same directory as the Vagrantfile when running these commands!

    # 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](https://app.vagrantup.com/boxes/search). When you find one you like, just replace it's name with boxpath. 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 vagrant machine, loads new Vagrantfile configuration
    - `vagrant reload --provision` -- restart the virtual machine and force provisioning

    # Getting into a VM
    - `vagrant ssh` -- connects to machine via SSH
    - `vagrant ssh <boxname>` -- If you give your box a name in your Vagrantfile, you can ssh into it with boxname. 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](http://docs.vagrantup.com/v2/push/index.html)!
    - `vagrant up --provision | tee provision.log` -- Runs `vagrant up`, forces provisioning and logs all output to a file

    # Plugins
    - [vagrant-hostsupdater](https://github.com/cogitatio/vagrant-hostsupdater) : `$ vagrant plugin install vagrant-hostsupdater` to update your `/etc/hosts` file automatically each time you start/stop your vagrant box.

    # Notes
    - If you are using [VVV](https://github.com/varying-vagrant-vagrants/vvv/), you can enable xdebug by running `vagrant ssh` and then `xdebug_on` from the virtual machine's CLI.