Comandi Base di Docker Compose
Docker Compose è uno strumento potente che permette di definire e gestire applicazioni multi-container con un semplice file YAML. Con Docker Compose, puoi avviare, fermare, scalare e monitorare facilmente i container che compongono la tua applicazione. In questa guida, esploreremo i comandi base di Docker Compose che ogni sviluppatore dovrebbe conoscere per gestire efficacemente i servizi containerizzati.
Prerequisiti
Prima di iniziare, assicurati di avere Docker e Docker Compose installati sul tuo sistema. Puoi verificare l’installazione eseguendo:
docker --version
docker-compose --version
Comandi Base di Docker Compose
1. docker-compose up
Il comando docker-compose up
è utilizzato per creare e avviare tutti i servizi definiti nel file docker-compose.yml
. Se i container non esistono già , Docker Compose li crea prima di avviarli.
Esempio di Comando
docker-compose up
Questo comando legge il file docker-compose.yml
nella directory corrente e avvia i servizi definiti.
Opzioni Utili
-d
(detached mode): Esegue i container in background, lasciando libero il terminale.
docker-compose up -d
--build
: Ricostruisce le immagini prima di avviare i container, utile se hai modificato il Dockerfile.
docker-compose up --build
2. docker-compose down
Il comando docker-compose down
ferma e rimuove tutti i container, le reti e i volumi creati con docker-compose up
. Questo comando è utile per pulire l’ambiente dopo aver terminato il lavoro.
Esempio di Comando
docker-compose down
Opzioni Utili
--volumes
: Rimuove anche i volumi associati ai container, utile per una pulizia completa.
docker-compose down --volumes
--rmi all
: Rimuove anche le immagini Docker costruite durante l’esecuzione.
docker-compose down --rmi all
3. docker-compose start
Il comando docker-compose start
avvia i container esistenti definiti nel file docker-compose.yml
senza ricrearli. Questo comando è utile se hai fermato i container e vuoi riavviarli.
Esempio di Comando
docker-compose start
4. docker-compose stop
Il comando docker-compose stop
ferma i container in esecuzione definiti nel file docker-compose.yml
, senza rimuoverli. Puoi successivamente riavviarli con docker-compose start
.
Esempio di Comando
docker-compose stop
5. docker-compose ps
Il comando docker-compose ps
mostra lo stato dei container gestiti da Docker Compose. Questo comando è utile per verificare quali servizi sono in esecuzione e ottenere informazioni sui container.
Esempio di Comando
docker-compose ps
Questo mostrerà una tabella con i nomi dei container, lo stato, le porte esposte e altre informazioni utili.
6. docker-compose logs
Il comando docker-compose logs
visualizza i log dei servizi in esecuzione. È utile per monitorare l’output dei container e diagnosticare eventuali problemi.
Esempio di Comando
docker-compose logs
Opzioni Utili
-f
(follow): Segue i log in tempo reale.
docker-compose logs -f
service_name
: Mostra i log solo per un servizio specifico.
docker-compose logs web
7. docker-compose build
Il comando docker-compose build
costruisce le immagini Docker per i servizi definiti nel file docker-compose.yml
. Questo comando è utile se hai aggiornato il Dockerfile o vuoi forzare la ricostruzione delle immagini.
Esempio di Comando
docker-compose build
Opzioni Utili
--no-cache
: Costruisce le immagini senza utilizzare la cache, utile per assicurarsi che tutto venga ricostruito da zero.
docker-compose build --no-cache
8. docker-compose exec
Il comando docker-compose exec
ti permette di eseguire comandi all’interno di un container in esecuzione. Questo comando è simile a docker exec
ma funziona con i container gestiti da Docker Compose.
Esempio di Comando
docker-compose exec web bash
Questo comando apre una shell Bash nel container del servizio web
.
9. docker-compose scale
Il comando docker-compose scale
ti permette di scalare un servizio specifico, eseguendo più istanze di un container.
Esempio di Comando
docker-compose scale web=3
Questo comando avvierà 3 istanze del servizio web
.
Nota: A partire dalla versione 3.0 del formato del file
docker-compose.yml
, il comandoscale
è stato deprecato a favore didocker-compose up --scale
.
10. docker-compose pull
Il comando docker-compose pull
scarica le ultime versioni delle immagini Docker dai registri per i servizi definiti nel file docker-compose.yml
.
Esempio di Comando
docker-compose pull
Conclusione
I comandi base di Docker Compose sono essenziali per gestire applicazioni multi-container in modo efficiente. Che tu stia sviluppando localmente o gestendo ambienti di produzione, conoscere questi comandi ti permetterà di avviare, fermare, monitorare e gestire facilmente i tuoi container. Utilizzando questi comandi in combinazione con le opzioni disponibili, puoi personalizzare il comportamento di Docker Compose per soddisfare le esigenze specifiche della tua applicazione.