I container si sono inseriti nel paesaggio dell’IT. Infatti, la containerizzazione delle applicazioni e dei servizi ha reso possibile alle aziende di diventare ancora più agili di quanto non fossero prima.

E chi non vuole un po’ più di agilità per la propria azienda?

Ma cos’è un contenitore? Un contenitore è un modo di arrotolare il software in piccoli pacchetti autocontenuti che includono tutte le librerie e le impostazioni necessarie affinché il software funzioni come se fosse installato con il metodo standard. Per esempio, se vuoi distribuire un server NGINX, invece di installare il server e tutte le sue dipendenze su un hardware standard o virtuale, puoi semplicemente estrarre l’immagine NGINX e distribuire un contenitore basato su quell’immagine. In pochi secondi avrete quel server web NGINX pronto a lavorare.

Potreste pensare, “Perché non usare semplicemente una macchina virtuale? A differenza di una macchina virtuale, un contenitore non richiede un sistema operativo completo per farlo funzionare. Infatti, i contenitori sono neutrali rispetto alla piattaforma. Finché avete un sistema che supporta il vostro contenitore, può essere distribuito. Ancora meglio, i container funzionano sempre allo stesso modo, indipendentemente dalla piattaforma su cui vengono distribuiti.

Ma cosa viene usato per distribuire i container? Un sistema è Docker. Docker è uno degli strumenti più semplici disponibili per distribuire software containerizzato. È gratuito e disponibile per l’installazione sulla maggior parte delle piattaforme.

Quali sono i vantaggi dei container?

I vantaggi di usare i container (rispetto ai metodi tradizionali o alle macchine virtuali) sono molti. Eccone solo alcuni:

  • Distribuzione rapida: Con un’immagine scaricata da Docker Hub, è possibile distribuire rapidamente un contenitore con un singolo comando).
  • Creare uno, distribuire molti: Puoi creare tutti i contenitori che vuoi da una singola immagine.
  • Meno overhead: I contenitori richiedono molte meno risorse di sistema rispetto ai metodi tradizionali.
  • Portabilità: Le applicazioni eseguite come container possono essere distribuite su diversi sistemi operativi e piattaforme hardware.
  • Sviluppo di applicazioni più facile: Per progettazione, i container supportano cicli di sviluppo agili.
  • Avvio quasi istantaneo: I contenitori possono essere avviati quasi istantaneamente, mentre una macchina virtuale può richiedere tempo per l’avvio.
  • Modularità: Applicazioni complesse possono essere divise in moduli, come un database, un server web e un front end.

Ora che avete un po’ più di comprensione di cosa sono i container e perché dovreste usarli, scopriamo come installare Docker su due dei più popolari sistemi operativi server open source, Ubuntu Server (versione 18..04) e CentOS 7.

Installazione di Docker su CentOS 7

Primo, installeremo Docker CE (Community Edition) su CentOS 7. L’installazione viene effettuata tramite la riga di comando, quindi accedi al tuo server CentOS 7 e preparati a digitare.

Il primo passo è quello di installare tutte le dipendenze necessarie per Docker. Per fare questo, eseguite il seguente comando:

1
sudo yum install -y yum-utils device-mapper-persistent-data lvm2

Una volta completato questo comando, dovrai aggiungere il repository docker-ce con il comando:

1
sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

Con il repository in posizione, installare docker-ce con il comando:

1
sudo yum install docker-ce

Vi verrà chiesto di approvare l’installazione (e l’importazione della sua chiave GPG – Figura A).

Figura A

Quando questa operazione sarà completata, dovrai aggiungere il tuo utente al gruppo Docker. Se salti questo passo, sarai solo in grado di eseguire i comandi Docker usando sudo, il che è un rischio per la sicurezza. Per aggiungere il tuo utente al gruppo Docker, esegui il comando

1
sudo usermod -aG docker $(whoami)

Esci da CentOS 7 e fai di nuovo il login perché la modifica abbia effetto.

Infine, è necessario avviare il demone Docker e abilitarlo in modo che si avvii all’avvio del sistema. Questo può essere fatto con i seguenti due comandi:

1
2
3

sudo systemctl enable docker
sudo systemctl start docker

Se si lancia il comando docker images (che è il comando per elencare tutte le immagini disponibili trovate sul sistema), non solo vedrete che Docker funziona, ma che attualmente non ha immagini disponibili (Figura B).

docker_b.jpg

Docker è attivo e funzionante, ma non contiene immagini.

Se vuoi estrarre l’immagine NGINX da Docker Hub, esegui il comando:

1
docker pull nginx

Lancia nuovamente il comando docker images e vedrai l’immagine appena estratta disponibile (Figura C).

Figura C

L’immagine NGINX è pronta per essere usata per la distribuzione dei container.

Installazione di Docker su Ubuntu Server 18.04

Installare Docker su Ubuntu Server è in realtà un po’ più semplice. Dal momento che Docker si trova nel repository standard, tutto quello che dovete fare è accedere al vostro Ubuntu Server ed eseguire il comando:

1
sudo apt-get install docker.io -y

Il comando di cui sopra installerà tutte le dipendenze necessarie per far funzionare Docker. Una volta completato, abilita e avvia il servizio docker con i comandi:

1
2
3

sudo systemctl enable docker
sudo systemctl start docker

Finalmente, aggiungetevi al gruppo docker con il comando

1
sudo usermod -aG docker $(whoami)

Esci dal server e riaccedi. Ora potete eseguire gli stessi comandi che avete fatto su CentOS 7. Elenca le immagini disponibili con il comando:

1
docker images

Come previsto, non vedrai immagini elencate (Figura D).

Figura D

Nessuna immagine è ancora disponibile per Ubuntu Server.

Prendi l’immagine NGINX con il comando:

1
docker pull nginx

Una volta che l’immagine è stata scaricata, lanciare nuovamente il comando docker images per vederla elencata (Figura E).

Figura E

L’immagine NGINX disponibile su Ubuntu Server.

Conclusione

E questo è come installare Docker sia su CentOS 7 che su Ubuntu Server 18.04. Nella nostra prossima installazione di questa serie, impareremo come distribuire un contenitore, utilizzando l’immagine NGINX estratta da Docker Hub.

Immagine di _jinnie_ da .

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.