Salta al contenuto
Docker

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 comando scale è stato deprecato a favore di docker-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.

Contenuto redatto con l'assistenza di strumenti di intelligenza artificiale e rivisto dalla redazione di Codegrind, che ne è responsabile. Hai trovato un errore? Scrivici.