virtualization
high performance
reproducible
lightweight
portable
config.vm.provision "shell", path "setup.sh"
config.vm.provision "shell", inline: <<-SHELL
sudo apt-get update
sudo apt-get install -y git
.....
SHELL
config.vm.box = "ubuntu/trusty64"
config.vm.hostname = "GithubBlog"
config.vm.boot_timeout = 600
config.vm.communicator = "winrm" or "ssh"
config.vm.network "forwarded_port", guest: 3389, host: 8080,
auto_correct: false,
id: "rdp"
config.vm.network "private_network", ip: "192.168.33.10",
type: "dhcp"
config.vm.network "public_network",
bridge: 'en1: Wi-Fi (AirPort)',
ip: "192.168.0.17"
config.vm.synced_folder '.', '/vagrant', disabled: true
config.vm.synced_folder "c:\\projects",
"/home/vagrant/projects"
config.vm.synced_folder "src", "/srv/website"
config.vm.provider "virtualbox" do |vb|
end
vb.gui = false
vb.memory = 2048
vb.cpus = 2
vb.name = "Github Jekyll Blog"
vb.customize ["modifyvm", :id, "--vram", "128"]
vb.customize ["modifyvm", :id, "--usb", "on"]
Provision run order is outside-in
config.vm.provision :shell, inline: 'echo A'
config.vm.define "web" do |web|
web.vm.box = "apache"
web.vm.provision :shell, inline: 'echo B'
end
config.vm.define "db" do |db|
db.vm.box = "mysql"
end
config.vm.provision :shell, inline: 'echo C'
vagrant package --base NAME --output NAME
Hashicorp Atlas
Vagrant Website - http://www.vagrantup.com
VirtualBox - http://www.virtualbox.org
Vagrant Documentation - https://docs.vagrantup.com/
Vagrant Boxes - https://atlas.hashicorp.com/boxes/search
My blog - http://digitaldrummerj.me/
Please rate this talk!