- Learn about Vagrant
- Learn Vagrant commands
In Step 1 - Planet Installation with vagrant, we installed Vagrant, VirtualBox, Git, and Planet to our OS.
Vagrant is an open-source software product for building and maintaining portable virtual software development environments. Below, you will find some basic instructions on interacting with Vagrant through the command-line interface (CLI). You should be familiar with this since you will need to use it to control virtual machines during your internship.
There are three command-line programs you could use to interact with Vagrant CLI:
-
Git Bash: This is our recommended command line program. Git Bash is already installed along with planet installation script. After you open Git Bash, you will find its default directory at
C:/Users/YOUR_USERNAME
. -
Command Prompt: There are two Command Prompt options on Windows: Command Prompt and Command Prompt(Admin). You could use either of them to access directories and interact with Vagrant CLI. The only difference is their default directory: Command Prompt(Admin) has
C:\Windows\system32
as default directory and Command Prompt hasC:\Users\YOUR_USERNAME
as the default directory. -
Windows PowerShell: Windows PowerShell is a default shell interface installed on your machine, its default directory is
C:\Users\YOUR_USERNAME
.
NOTE: PowerShell and Command Prompt users will have to substitute forward slashes “/” with backslashes “\” throughout these introductory steps as it pertains to file paths.
Example: If you see an instruction saying cd desktop/OLE/Planet
instead use cd desktop\OLE\Planet
.
Normally we use Terminal to interact with Vagrant CLI.
A lot of Vagrant commands require us to specify a target machine. We can also run those commands from a directory with the target machine’s Vagrant File. Otherwise, you may encounter an error like "A Vagrant environment or target machine is required." Please go to the directory that contains our Vagrant file:
- Windows users should:
cd C:\Users\YOUR_USERNAME\Desktop\OLE\planet
. - macOS or Linux users should:
cd
into the location where they rangit clone
to copy theplanet
repository back in Step 1 - Planet Installation.
vagrant global-status
will tell us the state of all active Vagrant environments on the system for the currently logged in user. You will see something similar to this:
id name provider state directory
---------------------------------------------------------------------------
219abaa prod virtualbox running /Users/aberdean/planet
The above shows information about all known Vagrant environments
on this machine. This data is cached and may not be completely
up-to-date. To interact with any of the machines, you can go to
that directory and run Vagrant, or you can use the ID directly
with Vagrant commands from any directory. For example:
"vagrant destroy 1a2b3c4d"
The above output tells us:
- We have a Vagrant virtual machine called
prod
running in VirtualBox. - The directory of the virtual machine's Vagrantfile is located at
/Users/aberdean/planet
.
vagrant up prod
will turn the virtual machine back on if it's currently "poweroff".vagrant suspend prod
will suspend the "running" virtual machine, its state will become "saved".vagrant halt prod
will shut down the "running" virtual machine, its state will become "poweroff".vagrant destroy prod
will delete the virtual machine entirely. To use community Planet again, we will have to rebuild a new machine from scratch usingvagrant up
.
To conserve hardware resources of your computer, you could use vagrant halt prod
to shutdown the virtual machine that's running your community Planet. Use vagrant up prod
to turn the virtual machine back on when you need to access your community Planet again.
We suggest you to look at Vagrant CLI's documentation to find out more about its commands and usage.
You could also use vagrant --help
to see brief usage instruction of other commands that you might need.
Usage: vagrant [options] <command> [<args>]
-v, --version Print the version and exit.
-h, --help Print this help.
Common commands:
box manages boxes: installation, removal, etc.
connect connect to a remotely shared Vagrant environment
destroy stops and deletes all traces of the vagrant machine
global-status outputs status Vagrant environments for this user
halt stops the vagrant machine
help shows the help for a subcommand
init initializes a new Vagrant environment by creating a Vagrantfile
login log in to HashiCorp's Vagrant Cloud
package packages a running vagrant environment into a box
plugin manages plugins: install, uninstall, update, etc.
port displays information about guest port mappings
powershell connects to machine via powershell remoting
provision provisions the vagrant machine
push deploys code in this environment to a configured destination
rdp connects to machine via RDP
reload restarts vagrant machine, loads new Vagrantfile configuration
resume resume a suspended vagrant machine
share share your Vagrant environment with anyone in the world
snapshot manages snapshots: saving, restoring, etc.
ssh connects to machine via SSH
ssh-config outputs OpenSSH valid configuration to connect to the machine
status outputs status of the vagrant machine
suspend suspends the machine
up starts and provisions the vagrant environment
validate validates the Vagrantfile
version prints current and latest Vagrant version
For help on any individual command run `vagrant COMMAND -h`
Additional subcommands are available, but are either more advanced
or not commonly used. To see all subcommands, run the command
`vagrant list-commands`.
Why install Vagrant? - Explanation of some basic concepts about why Vagrant is useful for developers, operators and designers. Vagrant download Wikipedia page on Vagrant Other helpful links and videos
Next Section (Step 2) →
Docker is a computer program that performs operating-system-level virtualization also known as containerization. In the next section, you will learn the basics of interacting with Docker and Docker Compose through the command-line interface and basic commands for maintaining your Planet installation.