venerdì 6 novembre 2015

Estendiamo le possibilità di VirtualBox: Vagrant

Oggi vediamo un "accessorio" a VirtualBox che ha lo scopo di rispondere alla seguente domanda: come faccio a distribuire un virtual machine (VM) che ho creato?
Vagrant si propone proprio di fare questo.

Confesso che non tutto mi è chiaro, ma da quanto ho capito
  • Usando Vagrant creo dei file .box che contengono la VM comprensiva di supporto e descrittore (sono quindi file molto grossi) e li metto su un webserver
  • lanciando "vagrant init" indico la url dove è presente il file .box che voglio recuperare e aspetto che scarichi il descrittore del file Vagrant
  • lanciando "vagrant up" vagrant recupera le informazioni dal descrittore e verifica se il file box è presente, se non c'è lo scarica e alla fine aggiunge la VM a VirtualBox.

A questo punto la VM è su VirtualBox.
La procedura funziona anche con VMware.

Una nota operativa
Quando scarico il file box alla fine Vagrant lancia la VM e attiva una connessione ssh alla VM.
Quello che dobbiamo fare ora è andare sul client VBOX, attivare la connessione schermo remoto (con la VM attiva) e usando un client di remote desktop (io uso RemoteDesktop Client, ma si può usare rdesktop) ci si collega 127.0.0.1:3389 (la porta indicata in VBOX). La VM è ora accessibile anche in GUI.
Questo passaggio serve però solo la prima volta, di seguito lanciando la VM ci si accede normalmente.

Il file viene scaricato nella "~/.vagrant.d".
E i file quando vengono installati vengono comunque copiati nel default di VBOX.
"vagrant remove" elimina file scaricati e la VM da VirtualBox, quindi ripristina la situazione a prima di "init".
Se si vuole eliminare il file box scaricato si deve fare "vagrant box remove" con il nome che si è usato per "vagrant init". Segnalerà un errore di interità che capisco ma non posso tenermi dei GB impegnati visto che i file della VM sono già copiati.
Certo che eventualmente si dovrà scaricarli nuovamente.


Qui è possibile recuperare dei file .box creati dalla community.
Qui la documentazione della applicazione.



Nessun commento: