Introduzione

Vagrant è uno strumento da riga di comando per la creazione e la gestione di macchine virtuali.

Per impostazione predefinita, Vagrant può eseguire il provisioning dei computer su VirtualBox, Hyper-V e Docker. Altri provider come Libvirt (KVM), VMware e AWS possono essere installati tramite il sistema di plugin Vagrant.

Vagrant viene in genere utilizzato dagli sviluppatori per configurare un ambiente di sviluppo che funziona su più sistemi operativi.

Questo articolo descrive come installare Vagrant su una macchina Ubuntu 20.04 LTS Focal Fossa. Useremo VirtualBox, che è il provider predefinito per Vagrant.

Installare Vagrant su Ubuntu

Provisioneremo le macchine virtuali su VirtualBox.

Se VirtualBox non è installato sul tuo sistema, puoi installarlo eseguendo:

sudo apt update
sudo apt install build-essential dkms linux-headers-$(uname -r)
sudo apt install virtualbox

Il pacchetto Vagrant, disponibile nei repository di Ubuntu, non viene aggiornato regolarmente. Scaricheremo e installeremo l'ultima versione di Vagrant dal sito ufficiale di Vagrant.

Al momento della stesura di questo articolo, l'ultima versione stabile di Vagrant è la versione 2.2.9. Visita la pagina dei download di Vagrant per vedere se è disponibile una nuova versione di Vagrant.

Installa curl se non è già installato:

sudo apt install curl

Scarica il pacchetto Vagrant:

curl -O https://releases.hashicorp.com/vagrant/2.2.9/vagrant_2.2.9_x86_64.deb

Una volta scaricato il file, installalo digitando:

sudo apt install ./vagrant_2.2.9_x86_64.deb

Per verificare che l'installazione abbia avuto esito positivo, eseguire il comando seguente che stamperà la versione di Vagrant:

vagrant --version

L'output dovrebbe assomigliare a questo:

Vagrant 2.2.9

Introduzione a Vagrant

Creare un progetto Vagrant è semplice come impostare la directory principale del progetto e definire un file Vagrant.

Eseguire i seguenti comandi per creare la directory e cd in esso con:

mkdir ~/my-vagrant-project
cd ~/my-vagrant-project

Successivamente, inizializza un nuovo Vagrantfile usando il comando vagrant init seguito dal box che vuoi usare.

Le box sono il formato del pacchetto per gli ambienti Vagrant e sono specifiche del provider. Puoi trovare un elenco di Box di Vagrant disponibili pubblicamente nella pagina del catalogo di Vagrant Box.

In questo esempio, useremo il box centos/8:

vagrant init centos/8
A `Vagrantfile` has been placed in this directory. You are now
ready to `vagrant up` your first virtual environment! Please read
the comments in the Vagrantfile as well as documentation on
`vagrantup.com` for more information on using Vagrant.

Vagrantfile è un file Ruby che descrive come configurare e eseguire il provisioning della macchina virtuale. È possibile aprire il file Vagrant, leggere i commenti e apportare modifiche in base alle proprie esigenze.

Esegui il comando vagrant up per creare e configurare la macchina virtuale come specificato nel Vagrantfile:

vagrant up
==> default: Configuring and enabling network interfaces...
    default: SSH address: 192.168.111.111:22
    default: SSH username: vagrant
    default: SSH auth method: private key
==> default: Rsyncing folder: /home/noviello/Vagrant/my-vagrant-project/ => /vagrant

Vagrant monta la directory /vagrant del progetto nella macchina virtuale. Ciò ti consente di lavorare sui file del tuo progetto sul tuo computer host.

Per accedere alla macchina virtuale, eseguire:

vagrant ssh

È possibile arrestare la macchina virtuale con il comando seguente:

vagrant halt

Per chiudere tutte le risorse create durante la creazione della macchina, immettere:

vagrant destroy

Conclusione

Ti abbiamo mostrato come installare Vagrant su Ubuntu 20.04 LTS Focal Fossa e come creare un progetto Vagrant di base.

Per ulteriori informazioni sulla visita di Vagrant, la pagina della documentazione ufficiale di Vagrant.