Docker Compose è uno degli strumenti più utili per gli sviluppatori e i sys admin. La maggior parte delle posizioni lavorative in ambito IT infatti richiedono la conoscenza di Docker e di Docker Compose. Senza dubbio, sapere come utilizzare queste tecnologie costituirà un vantaggio nel proseguimento della tua carriera.
Cos’è Docker compose?
In poche parole, Docker Compose è uno strumento che ti consente di gestire più Docker containers. Ricordi i micro-services, ossia il concetto di suddividere un’applicazione web in diversi servizi? Ebbene, questi servizi verranno eseguiti in singoli container che devono essere gestiti e devono essere messi in condizione di dialogare tra loro. Docker compose permette di fare proprio questo.
Immagina di avere un’applicazione con diversi servizi separati, come ad esempio autenticazione, registrazione, ecc.
Seguendo un’architettura a micro-services, ogni elemento verrà eseguito in un container separato. Docker Compose semplifica la gestione di tutti questi container, invece di gestirli singolarmente.
Installare Docker compose
Docker Compose è uno strumento Docker ufficiale, ma non viene fornito di default con l’installazione Docker by default. Quindi, è necessario installarlo come pacchetto separato. Il processo di installazione di Docker Compose per Windows e Mac è disponibile sul sito ufficiale di Docker.
Per l’installazione su Ubuntu invece, è sufficiente lanciare l’installazione da riga di comando:
$ sudo apt-get install docker-compose
Il file docker-compose.yaml
Non sarebbe sbagliato dire che un file Docker Compose è per Docker Compose, ciò che un Dockerfile è per Docker. All’interno del file Docker Compose, si trovano tutte le istruzioni che Docker Compose esegue durante la gestione dei container. Qui si definiscono i servizi che dovranno essere lanciati nei container. Si definiscono anche le reti e i volumi da cui dipendono i servizi.
Il file Docker Compose utilizza la sintassi YAML e deve essere salvato come docker-compose.yml. Potrai avere ad esempio servizi per backend, frontend, database e code di messaggi in un’app web. Questi servizi avranno bisogno di dipendenze specifiche; dipendenze come reti, porte e memoria per un funzionamento ottimale. Devi sempre considerare che tutto il necessario per l’intera applicazione verrà definito nel file Docker Compose.
Per un esempio concreto di stesura di un file Docker compose puoi fare riferimento a questo articolo.
Comandi Docker compose
Dopo aver creato un file docker-compose.yml, è necessario eseguire determinati comandi per farlo funzionare.
docker-compose up
Questo comando Docker-compose aiuta a costruire l’immagine, dopodiché crea e avvia i container Docker. I container provengono dai servizi specificati nel file di configurazione. Se i container sono già in esecuzione e si esegue docker-compose up, viene ricreato il container.
docker-compose start
Questo comando Docker compose avvia i container Docker, ma non crea immagini né crea container: avvia i container solo se sono stati creati in precedenza.
docker-compose stop
Spesso è necessario arrestare i container dopo averli creati e avviati. àˆ qui che torna utile il comando di arresto di Docke compose. Questo comando fondamentalmente arresta i servizi in esecuzione, ma i container di installazione e le reti rimangono intatti.
docker-compose down
Il comando docker-compose down arresta anche i container Docker come fa il comando “stop”, non solo, non si limita a fermare i container, li rimuove anche. Tutto ciò vale anche per le reti, i volumi e le immagini Docker che possono essere rimosse se si utilizzano determinati argomenti.
docker-compose down –volumes
Rimuove tutti i volumi.
docker-compose down –rmi all
Rimuove tutte le immagini.
In conclusione
Non è necessario essere un esperto di Docker per utilizzare Docker Compose. Se sei un principiante la cosa migliore è provare a scrivere un docker-compose.yaml e provare a lanciare due o più container.
In questo articolo hai imparato le basi di Docker Compose. Ora sai a cosa serve, come impostare un file di configurazione Docker Compose e i comandi principali. Adesso è il momento di mettersi al lavoro e provare Docker Compose nella pratica!
Read related articles
Kubernetes Cloud: servizi Cloud per Kubernetes, mini guida pratica
Kubernetes Cloud: vediamo da vicino Amazon Elastic Kubernetes Service (EKS) Google Kubernetes Engine (GKE) e Servizio Azure Kubernetes (AKS) I
Come funziona Kubernetes: funzionamento e struttura
Come funziona Kubernetes: mini guida per capire il funzionamento di uno dei tools più importanti per un developer oggi Come
Docker vs Kubernetes: vediamo in cosa differiscono
Docker vs Kubernetes: vediamo in cosa differiscono e perché a volte si tende a far confusione Spesso sentiamo chiedere in