Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Vagrant cheatsheet #9

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
101 changes: 101 additions & 0 deletions Vagrant advanced
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
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 [deplTyping `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.oy 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.