Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Vagrant, i comandi principali

Oltre init e up ci sono una serie di comandi molto importanti per gestire le virtual machines: halt, reload, status, global-status, suspend, resume, destroy
Oltre init e up ci sono una serie di comandi molto importanti per gestire le virtual machines: halt, reload, status, global-status, suspend, resume, destroy
Link copiato negli appunti

Finora abbiamo esplorato in dettaglio solo due dei comandi che Vagrant ci fornisce per gestire il ciclo di vita di una virtual machine. Tutti gli altri sono stati presentati, un po' a caso, man mano che le lezioni proseguivano, pertanto di seguito riportiamo un quadro completo di tutti e soli i comandi per gestire il ciclo di vita di una macchina virtuale:

vagrant init

L’abbiamo già incontrato qualche lezione fa, è uno dei due comandi fondamentali, in quanto si occupa di aggiungere un Vagrantfile alla directory corrente facendola così diventare una directory di progetto Vagrant.

vagrant init [nome-box] [url-box]

Il primo parametro specifica quale box vogliamo usare, nelle lezioni precedenti abbimo sempre usato hashicorp/precise32. Il secondo parametro specifica l’URL da cui scaricare il box, se non fornito verrà utilizzato l’URL del repository di default.

Esistono inoltre tre flag:

Flag Descrizione
--force se esiste già un Vagrantfile nella directory corrente questo viene sovrascritto
--minimal il Vagrantfile generato non conterrà alcun tipo di commento
--output NOMEFILE il risultato del comando non verrà scritto su un file di nome Vagrantfile ma sul file specificato

vagrant up

L’altro comando fondamentale. Ci permette di creare e/o avviare una macchina virtuale in base alle specifiche fornite nel Vagrantfile. Dato un progetto, alla prima esecuzione, il comando scaricherà (se non ancora presente) il box e lo salverà sul disco, dopodiché lo clonerà e utilizzerà il box clonato per ogni successivo avvio.

Alcune caratteristiche del comando sono personalizzabili grazie all’utilizzo di flag specifici, ma non sono di uso frequente e non li elenchiamo anche qui.

vagrant halt

Questo comando spegne la macchina virtuale. Se possibile, Vagrant proverà a spegnere la macchina attraverso le procedure di spegnimento proprie del sistema operativo guest, altrimenti ne effettuerà uno spegnimento forzato.

Se non siamo interessati ad uno spegnimento gracefull della macchina possiamo passare direttamente il parametro -f o --force.

vagrant reload

Ha l’effetto di un vagrant halt seguito da un vagrant up. Utile a far sì che vengano applicate delle modifiche apportate al Vagrantfile, equivale ad un reboot di un computer. Tale comando di default non rieffettua il provisioning dell’ambiente (per ulteriori dettagli sull’argomento è disponibile una lezione in proposito).

vagrant suspend/vagrant resume

L’utilizzo di vagrant suspend permette di sospendere la macchina virtuale per poi riprenderla in un secondo momento con vagrant resume.

Sospendendo la macchina virtuale, il computer host diverrà più scarico sia a livello di RAM che a livello di CPU, mentre verrà richiesto dello spazio extra su disco per salvare lo stato della macchina in modo che potrà essere successivamente ripresa.

vagrant destroy

Questo comando termina la virtual machine con un halt, dopodiché libera lo spazio occupato dalle risorse associate, in primis il box clonato utilizzato nella fase di startup. Il box originario (o anche base-box) non sarà toccato, perciò un successivo vagrant up comporterebbe la clonazione del box ma non il suo download.

Se invece vogliamo eliminare anche il base-box è necessario un vagrant box remove (si veda la lezione precedente per dettagli sul comando).

vagrant status

Recuperare lo stato della macchina virtuale non è un’operazione immediata. Tale comando, già presentato nella lezione precedente, fornisce le informazioni sul progetto corrente, informandoci se la macchina è in esecuzione (running), spenta (poweroff) o mai creata (not created).

Se il nostro progetto Vagrant si trova nello stato not created vuol dire che esiste il Vagrantfile di progetto ma non esiste il box clonato, ragion per cui è necessario un vagrant up.

Essendo questo comando un comando di progetto non fornirà nessun output utile se all’interno della directory corrente non esiste un Vagrantfile.

vagrant global-status

Se siamo interessati alla situazione complessiva delle nostre macchine questo comando è quello che fa al caso nostro, inoltre, essendo globale può essere invocato da qualunque posizione. L’output è più o meno simile a quello precedente ma oltre alle informazioni classiche sullo stato della macchina, fornisce anche un id univoco che in futuro potrà essere molto utile.

Per motivi di efficienza l’output del comando è fornito da una cache, per cui alcune invocazioni potrebbero produrre dati non più validi, in tal caso potremo usare il flag --prune per eliminare tali occorrenze.

Ti consigliamo anche