docker-cloud

Docker: container per tutte le esigenze

Indice dei contenuti

Docker è uno strumento che sfrutta le potenzialità del kernel linux e permette di eseguire ambienti virtuali all’interno del sistema operativo stesso. Sfrutta la tecnologia a container e può essere eseguito anche su macchine virtuali.

Docker cos’è?

Si tratta di una piattaforma che permette di creare, testare e distribuire applicazioni in unità standardizzate. Queste verranno a loro volta chiamate container Docker e contengono librerie, codici, strumenti di sistema e runtime. Il Docker in un esempio pratico è una serie di elementi (container) da usare per la creazione di applicazioni e piattaforme moderne, la cui architettura risulta semplificata. 

I vantaggi del sistema a Docker container

Tra i vantaggi di questo sistema troviamo sicuramente: 

  • una distribuzione più rapida di software (mediamente 7 volte più rapida rispetto a chi non usa questo sistema; 
  • un funzionamento standardizzato che semplifica l’individuazione e la risoluzione dei problemi; 
  • spese ridotte per il ridotto utilizzo dei codici di programmazione, e quindi dei dipendenti specializzati.

Ma in quali casi è bene usare il sistema di Docker container? Per esempio per le applicazioni di microservizi, che non richiedono la complessa struttura di un codice personalizzato, oppure per l’integrazione semplice e veloce con applicazioni già esistenti. Anche l’elaborazione di big data può giovare dell’utilizzo di Docker perché ne semplifica lo spacchettamento.

Docker esempi pratici: come funziona quello di Seeweb

È possibile utilizzare Docker sui nostri prodotti Cloud Server, Cloud Server Shared CPU e Foundation Server, il sistema operativo che consigliamo di utilizzare è Ubuntu 22.04 LTS poiché ha già il pieno supporto e l’installazione è molto semplice.

Per procedere all’installazione è sufficiente digitare i seguenti comandi come utente root:

apt-get update && apt-get install -y docker.io apparmor

service docker.io restart

Se la procedura è andata a buon fine, è possibile visualizzare la versione installata con:

docker.io –version

Per vedere se il sistema è correttamente in esecuzione digitiamo il seguente comando:

docker info

Una volta che abbiamo installato tutto, possiamo eseguire i nostri ambienti virtuali. Sui repository ufficiali è possibile trovare una grande varietà di immagini preconfezionate. Tutti i dettagli sono disponibili qui: https://registry.hub.docker.com/.

Scaricare e cercare un’immagine da linea di comando

È possibile cercare le immagini direttamente dalla riga di comando, la sintassi da utilizzare è:

docker search pattern

Per scaricare un’immagine il comando da utilizzare è:

docker pull nomeimmagine

Vogliamo subito riportarvi esempi pratici di Docker e del suo utilizzo, in modo che si possano toccare con mano le potenzialità di questo strumento. Andremo quindi a configurare due ambienti virtuali, uno con il server web nginx, l’altro con l’application server Tomcat.

Iniziamo con cercare l’immagine con nginx installato: ne troverete parecchie, noi utilizzeremo quella ufficiale che viene mostrata come primo risultato:

docker search nginxAndiamo ora ad eseguire il container, il comando run prende l’immagine dai repository (se questa non è stata precedentemente scaricata) ed avvia il container Docker stesso.

I parametri passati al comando run sono:

  • -i per disabilitare la modalità interattiva;
  • -t utilizza una pseudo-tty;
  • -p specifica quali porta mappare nel formato hostPort:containerPort;
  • nginx è il nome dell’ immagine;

è il comando che viene eseguito all’avvio in questo caso serve ad avviare il server web.

Per uscire dal container Docker lasciandolo in esecuzione dobbiamo utilizzare la sequenza di escape che è possibile richiamare con i tasti:

CTRL+P seguito da CTRL+Q

Se vogliamo vedere i container che sono in esecuzione lanciamo il comando:

docker ps

Vedremo in questo caso l’immagine che abbiamo avviato ed il suo id. Per riconnetterci possiamo utilizzare:

docker attach [id]

Abbiamo adesso la nostra prima immagine avviata con il server web nginx. Richiamando nel browser l’ip del nostro host è possibile testarne il corretto funzionamento. A questo punto protremmo aver bisogno di altri componenti per la nostra applicazione, come per esempio un webserver tomcat: nulla di più facile!  Cerchiamo subito sui repository con:

docker search tomcat

Scegliamo tra i vari risultati proposti quello più adatto alle nostre esigenze e lo avviamo, in questo caso per esempio, abbiamo scelto un’immagine che fornisce tomcat 8 e binda la porta 8080 nel container, eseguiamo il comando run in modo che la stessa sia rimappata direttamente sul nostro host.

A questo punto, digitando il comando docker ps, vedremo due container in esecuzione. C’è da precisare che i filesystem sono effimeri: se i container saranno fermati e/o riavviati perderanno i dati che avete inserito. C’è modo di creare un’immagine partendo da un container in esecuzione con il comando:

docker commit [id]

È inoltre possibile utilizzare dischi appositi per salvare i dati, ma ne parleremo più approfonditamente in un altro articolo.Con questi piccoli esempi pratici di Docker abbiamo voluto mostrarvi le opportunità che può offrire la tecnologia dei container. Consigliamo di approfondire l’argomento partendo dal sito ufficiale sul quale trovate anche un simpatico tutorial: https://www.docker.com/tryit/

CONDIVIDI SUI SOCIAL

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

− 3 = 4