Vagrant

Vagrant e' un gestore di macchine virtuali.

Le componenti principali di Vagrant sono:

  • Providers: VirtualBox e' uno dei provider maggiormente utilizzato dagli sviluppatori.
  • Box: Vagrant mette a disposizione dei "box" ovvero delle macchine pre-configurate con sistema operativo installato da cui partire.
  • Provisioning: Il meccanismo di personalizzazione ed installazione di software all' interno di un macchina vagrant è detto provisioning.
vagrant init (crea il file Vagrantfile)
vagrant up
vagrant ssh
logout
vagrant halt 

esempio Vagrantfile:

# -*- mode: ruby -*-
# vi: set ft=ruby :

# Vagrant multi-machine sample setup

Vagrant.configure("2") do |config|
  config.vm.define :alpha do |alpha|
    alpha.vm.box = "hashicorp/precise64"
    alpha.vm.network :private_network, ip: "10.0.0.10"
    alpha.vm.hostname = "alpha"
  end

  config.vm.define :beta do |beta|
    beta.vm.box = "hashicorp/precise64"
    beta.vm.network :private_network, ip: "10.0.0.11"
    beta.vm.hostname = "beta"
  end
end

esempio Vagrantfile:

Vagrant.configure(2) do |config|

  # Set base box and provisioning
  config.vm.box = "ubuntu/trusty64"

  # Provider resources
  config.vm.provider "virtualbox" do |v|
    v.memory = 512
    v.cpus = 4
  end

  # Networking
  config.vm.network :private_network, ip: '192.168.99.12'

  # Shared folder
  config.vm.synced_folder '.', '/vagrant'

end

A seguire il ink per l'installazione, un elenco di box gia' disponibili, un tutorial di base e una ulr git con una configurazione automatica di un server ubuntu con apache e mysql.