Vagrant¶
vagrant has
Vagrantfile
.vagrant
directory
The Vagrantfile
“marks” a project directory of a vagrant box and this project directory is shared
as /vagrant
in the virtual machine (default via VirtualBox shared folder).
Also those virtual machines can be directly managed via Virtualbox GUI
Commands¶
vagrant status
vagrant global-status <--prune>
box
vagrant box list
vagrant box add <some-box>
vagrant box add <some-name> <some-url>
vagrant box outdated
init, no box for empty config
vagrant init <some-box>
start
vagrant provision # run provisioners, only auto do this on first up
vagrant up # auto provision if first up
vagrant up --provision
vagrant reload # restart and load config, skip initial import
vagrant reload --provision
in
vagrant ssh <some-name>
suspend
vagrant suspend
vagrant resume
shut down
vagrant halt
remove instance
vagrant destroy <-f>
remove box
vagrant box remove <some-box>
package into a box
vagrant package --output <some-new-box-name.box>
vagrant push
snapshot, DO NOT MIX TWO SETS (either push/pop or save/restore)
[vm-name]
may bedefault
vagrant snapshot push
vagrant snapshot pop --no-delete --no-start
vagrant snapshot save [vm-name] NAME
vagrant snapshot restore [vm-name] NAME
vagrant snapshot delete [vm-name] NAME
Vagrantfile¶
Vagrant.configure("2") do |config|
config.vm.box = "hashicorp/precise64"
config.vm.box_version = "1.1.0"
config.vm.box_url = "https://vagrantcloud.com/hashicorp/precise64"
config.vm.provider "virtualbox" do |vb|
vb.memory = 999
vb.cpus = 1
#vb.gui = true
end
config.vm.provision :shell, path: "bootstrap.sh"
config.vm.network :forwarded_port, guest: 80, host: 4567
config.vm.network :forwarded_port, guest: 443, host: 5678, auto_correct: true
end