Vagrant: Difference between revisions
Line 16: | Line 16: | ||
* Vagrant: Up and Running (2013) | * Vagrant: Up and Running (2013) | ||
= | = A simple example = | ||
<syntaxhighlight lang='bash'> | <syntaxhighlight lang='bash'> | ||
$ mkdir precise32 | $ mkdir precise32 | ||
Line 37: | Line 37: | ||
If we open VirtualBox GUI, we will see a new guest machine called precise32_default_XXXXXXXX is created and running though we do not see Ubuntu precise 32 desktop application in a new window. | If we open VirtualBox GUI, we will see a new guest machine called precise32_default_XXXXXXXX is created and running though we do not see Ubuntu precise 32 desktop application in a new window. | ||
== [https://docs.vagrantup.com/v2/cli/index.html Some commands] == | |||
<syntaxhighlight lang='bash'> | |||
vagrant up | |||
vagrant halt # gracefully shut down | |||
vagrant suspend | |||
vagrant resume | |||
vagrant destroy # stops the running machine Vagrant is managing and destroys all resources | |||
vagrant box SUBCOMMANDS | |||
vagrant box remove ubuntu/trusty32 | |||
vagrant ssh | |||
vagrant package # This packages a currently running VirtualBox environment into a re-usable box. | |||
</syntaxhighlight> | |||
= Where is vagrant saving boxes files = | = Where is vagrant saving boxes files = |
Revision as of 12:00, 1 January 2016
Official website https://www.vagrantup.com/
Resources
Download
The version available now is 1.8.1.
Use vagrant -v to see the vagrant version currently installed in your machine.
Documentation
https://docs.vagrantup.com/v2/
Books
- Vagrant Virtual Development Environment Cookbook (2015)
- Creating Development Environments with Vagrant (2015, 2nd Ed)
- Pro Vagrant (2015)
- Vagrant: Up and Running (2013)
A simple example
$ mkdir precise32 $ cd precise32 $ vagrant init hashcorp/precise32 A `Vagrantfile` has been placed in this directory. You are now ready to `vagrant up` your first virtual environment! Please read the comments in the Vagrantfile as well as documentation on `vagrantup.com` for more information on using Vagrant. $ cat Vagrant VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "hashcorp/precise32" end $ vagrant up vm * The box 'hashcorp/precise32' could not be found.
The solution from stackoverflow works.
If we open VirtualBox GUI, we will see a new guest machine called precise32_default_XXXXXXXX is created and running though we do not see Ubuntu precise 32 desktop application in a new window.
Some commands
vagrant up vagrant halt # gracefully shut down vagrant suspend vagrant resume vagrant destroy # stops the running machine Vagrant is managing and destroys all resources vagrant box SUBCOMMANDS vagrant box remove ubuntu/trusty32 vagrant ssh vagrant package # This packages a currently running VirtualBox environment into a re-usable box.
Where is vagrant saving boxes files
http://stackoverflow.com/questions/10155708/where-does-vagrant-download-its-box-files-to
- Windows: C:/Users/USERNAME/.vagrant.d/boxes
- Linux and Mac: ~/.vagrant.d/boxes/
We can change the default directory by modifying the VAGRANT_HOME variable. See https://docs.vagrantup.com/v2/other/environmental-variables.html.
Vagrantfile
Vagrantfile is just Ruby.
Vagrantfile template
If we run vagrant init, we will get the following vagrantfile.
VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| # ... end
Precise32
VAGRANTFILE_API_VERSION = "2" Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| config.vm.box = "hashcorp/precise32" end
config.vm
Config namespace: config.vm
The settings within config.vm modify the configuration of the machine that Vagrant manages.
- config.vm.boot_timeout
- config.vm.box
- config.vm.box_url
- config.vm.communicator
- config.vm.hostname
- config.vm.provider
- config.vm.synced_folder
config.ssh
Boxes
Download a box w/ initializing an env
vagrant box add ubuntu/trusty64
You can also quickly initialize a Vagrant environment with vagrant init ubuntu/trusty64.
We can also specify an URL to add/download a box.
vagrant box add http://servername/boxes/environment.box
Remove a box
Something like
vagrant box remove ubuntu/trusty32
List downloaded boxes
vagrant box list