3.9 KiB
layout | title |
---|---|
guide | User Guide - Commands |
Commands
The main interface to Vagrant is through the vagrant
command line tools. vagrant
is a "git-style" binary, meaning that it has various other binaries that are prefixed
with "vagrant" but can be used with a space between them. Let's take a look if at
all the vagrant binaries:
{% highlight bash %}
Hitting tab to have our shell complete the filename with available binaries
$ vagrant vagrant vagrant-box vagrant-down vagrant-init vagrant-package vagrant-reload vagrant-resume vagrant-ssh vagrant-suspend vagrant-up {% endhighlight %}
But just like git, we can use any of these tools by using a space instead of a
hyphen, so vagrant init
is the same as vagrant-init
.
Each binary has its own documentation associated with it as well. By running
vagrant help COMMAND
, the documentation will show for the given command.
But we'll go over each binary here, as well.
The commands are documented in the order "most useful" or "most used." While this may be annoying for reference needs, the titles of each section are simply the command, so you can easily use the browser search to find any command you're looking for.
vagrant box
Boxes have there own section: Vagrant Boxes
vagrant init
This will probably be one of the first commands you ever run. vagrant init
initializes
the current working directory as the root directory for a project which uses vagrant. It
does this by copying a default Vagrantfile
into the current working directory.
The Vagrantfile
is the configuration file using to specify the settings for the virtual
environment which Vagrant creates.
For more information regarding Vagrantfile
s, read the entire section of the user
guide dedicated to the Vagrantfile
.
vagrant package
{% highlight bash %} $ vagrant package [ output-file ] [ --include ] {% endhighlight %}
Vagrant package brings together all the necessary files required for VirtualBox to create and register an identical virtual environment for other projects or other machines. It is important to note that if you intend to recreate an identical experience for another developer using Vagrant that the Vagrantfile residing at the root of your project directory should be included, see Vagrant Boxes for more information.
vagrant resume
When you're ready to get rolling again its just as easy to start your virtual machine back up with
vagrant resume
.
vagrant suspend
When you're ready to call it quits for the day, there's no need to leave your Vagrant box soaking
up cpu cycles and memory. Simply issue vagrant suspend
from your project root and VirtualBox will
take a snapshot of the box's current state from which you can resume later.
vagrant ssh
Working from the command line inside your box is accomplished with a vanilla ssh connection. In fact
you could use ssh directly, but using vagrant ssh
means you don't have to remember the login information
or what port ssh is forwarded to from your box. To learn more about those settings see the section on the Vagrantfile.
If you're box is booted simply run vagrant ssh
from the root of your project directory.
vagrant up
This command builds the Sun VirtualBox and sets it up based
on the specifications of the Vagrantfile
. This command requires that the Vagrantfile
,
in the very least, specify a box to use. The basic tasks handled by the up command are
listed below, not in any specific order:
- Build the VM based on the box
- Setup shared folders
- Setup forwarded ports
- Provision with chef (if configured)
- Boot in the background