🚀 Nuova versione beta disponibile! Feedback o problemi? Contattaci

Comandi Base di Docker Compose

Codegrind Team•Aug 28 2024

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.