Aquesta és una revisió antiga del document
vagrant: casos de uso
vagrant, vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile | |
vagrantfile |
vagrant box
- crear una box en Vagrant:
vagrant package <nombre_maquina> –output fichero.box
- subir (versión, proveedor, etc…)
- descargar (desde otro Vagrantfile):
ejemplos
multi-machine cluster in a loop
# -*- mode: ruby -*- # vi: set ft=ruby : VAGRANTFILE_API_VERSION = "2" cluster = { "master" => { :ip => "192.168.33.10", :cpus => 1, :mem => 1024 }, "slave" => { :ip => "192.168.33.11", :cpus => 1, :mem => 1024 } } Vagrant.configure(VAGRANTFILE_API_VERSION) do |config| cluster.each_with_index do |(hostname, info), index| config.vm.define hostname do |cfg| cfg.vm.provider :virtualbox do |vb, override| config.vm.box = "ubuntu/trusty64" override.vm.network :private_network, ip: "#{info[:ip]}" override.vm.hostname = hostname vb.name = hostname vb.customize ["modifyvm", :id, "--memory", info[:mem], "--cpus", info[:cpus], "--hwvirtex", "on"] end # end provider end # end config end # end cluster end
/via: https://gist.github.com/roblayton/c629683ca74658412487
configuraciones simples
Vagrant.configure(2) do |config| config.vm.box = "debian/jessie64" config.vm.hostname = "prueba1" config.vm.provision "shell", path: "actualizar.sh" config.vm.network :private_network, ip: "192.168.100.10" # only host config.vm.network :public_network, ip: "192.168.100.20" config.vm.network :public_network,:bridge=>"eth0" config.vm.network :forwarded_port, guest: 80, host: 8080 config.vm.synced_folder "./www","/www" config.vm.provider "virtualbox" do |vb| vb.name = "VM-Prueba1" vb.memory = 1024 vb.cpus = 3 vb.linked_clone = true vb.gui = true end end
Vagrant.configure("2") do |config| config.vm.define "web" do |nodo1| nodo1.vm.box = "debian/jessie64" nodo1.vm.hostname = "web" nodo1.vm.network "public_network", bridge: "eth0" nodo1.vm.network "private_network", ip: "10.0.100.101" end config.vm.define "db" do |nodo2| nodo2.vm.box = "debian/jessie64" nodo2.vm.hostname = "db" nodo2.vm.network "private_network", ip: "10.0.100.102" end end