Learning Center
Piattaforma Docker

Docker Compose: Guida Completa all’Installazione e all’Utilizzo

15 gen 2026
Emmanuel Oyibo
Emmanuel Oyibo

Docker Compose ha cambiato radicalmente il modo in cui gli sviluppatori affrontano le applicazioni containerizzate, in particolare quando devono coordinare servizi che dipendono gli uni dagli altri. Questo strumento sostituisce la gestione manuale dei container con un flusso di lavoro strutturato basato su YAML, consentendo ai team di definire intere architetture applicative in un unico file di configurazione.

Negli ambienti Ubuntu, ciò si traduce in distribuzioni riproducibili, scalabilità semplificata e riduzione dell’overhead operativo. Questa guida offre una prospettiva aggiornata sull’installazione e sull’utilizzo di Docker Compose, fornendo approfondimenti pratici sulla sua implementazione reale.

Prerequisiti
Copia link

Prima di iniziare questo tutorial, assicurati di avere quanto segue:

  • Distribuire un’istanza di server cloud Ubuntu su Hostman.

  • Disporre di un account utente con privilegi sudo o accesso root, necessari per installare pacchetti e gestire Docker.

  • Avere Docker installato e in esecuzione sul server, poiché Docker Compose funziona sopra Docker Engine.

Perché Docker Compose è importante
Copia link

Le applicazioni moderne spesso includono componenti interconnessi come API, database e livelli di caching. Gestire questi elementi singolarmente tramite comandi Docker diventa rapidamente complesso man mano che l’architettura cresce. Docker Compose risolve questo problema permettendo agli sviluppatori di dichiarare tutti i servizi, le reti e i requisiti di storage in un file docker-compose.yml. Questo approccio garantisce coerenza tra gli ambienti, sia che si lavori su una macchina Ubuntu locale sia su un server cloud.

Ad esempio, considera un’applicazione web composta da un backend Node.js, un database PostgreSQL e una cache Redis. Senza Docker Compose, ogni componente richiederebbe un comando docker run separato con parametri di rete precisi. Con Compose, queste relazioni vengono definite una sola volta, consentendo l’avvio e l’arresto dell’intero stack con un singolo comando.

Installazione di Docker Compose
Copia link

Segui i passaggi seguenti per installare Docker Compose sul tuo sistema Ubuntu.

Passaggio 1: verificare che Docker Engine sia installato e in esecuzione
Copia link

Docker Compose funziona come un’estensione di Docker, quindi verifica lo stato del servizio:

sudo systemctl status docker

Se non è attivo, avvialo con:

sudo systemctl start docker

Passaggio 2: aggiornare i pacchetti di sistema
Copia link

Aggiorna l’elenco dei pacchetti per assicurarti di avere accesso alle versioni più recenti del software:

sudo apt-get update

Passaggio 3: installare le utility di base
Copia link

Per garantire una comunicazione sicura con i repository Docker, sono necessari i seguenti pacchetti:

sudo apt-get install ca-certificates curl

Passaggio 4: configurare la chiave GPG di Docker
Copia link

Autentica i pacchetti Docker aggiungendo la relativa chiave crittografica:

sudo install -m 0755 -d /etc/apt/keyrings

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

sudo chmod a+r /etc/apt/keyrings/docker.asc

Questo passaggio garantisce che i pacchetti non siano stati alterati durante il download.

Passaggio 5: aggiungere il repository Docker
Copia link

Aggiungi il repository Docker in base alla versione di Ubuntu in uso:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Il comando rileva automaticamente la versione del sistema tramite VERSION_CODENAME.

Passaggio 6: installare il plugin Docker Compose
Copia link

Aggiorna i repository e installa l’estensione Compose:

sudo apt update

sudo apt-get install docker-compose-plugin

Passaggio 7: verificare l’installazione
Copia link

Conferma che Docker Compose sia stato installato correttamente:

docker compose version

Esempio di output:

Docker Compose version v2.33.0

Creare un progetto Docker Compose pratico
Copia link

Per dimostrare le funzionalità di Docker Compose, distribuiamo un server web utilizzando Nginx.

1. Inizializzare la directory del progetto
Copia link

Crea un’area di lavoro dedicata:

mkdir ~/compose-demo && cd ~/compose-demo

2. Definire i servizi in docker-compose.yml
Copia link

Crea il file di configurazione:

nano docker-compose.yml

Inserisci il seguente contenuto:

services:

  web:

    image: nginx:alpine

    ports:

      - "8080:80"

    volumes:

      - ./app:/usr/share/nginx/html

Spiegazione:

  • services: elemento radice che dichiara i container

  • web: nome personalizzato del servizio

  • image: utilizza l’immagine Nginx basata su Alpine per un ingombro ridotto

  • ports: mappa la porta 8080 dell’host sulla porta 80 del container

  • volumes: sincronizza la directory locale app con la root web del container

3. Creare il contenuto web
Copia link

Costruisci la struttura HTML:

mkdir app

nano app/index.html

Aggiungi il seguente codice HTML:

<!DOCTYPE html>

<html lang="en">

<head>

  <meta charset="UTF-8">

  <title>Docker Compose Test</title>

</head>

<body>

  <h1>Hello from Docker Compose!</h1>

</body>

</html>

Orchestrazione dei container: dall’avvio all’arresto
Copia link

1. Avviare i servizi in modalità detached
Copia link

docker compose up -d

Docker Compose scaricherà automaticamente l’immagine Nginx se mancante e configurerà la rete.

2. Verificare lo stato dei container
Copia link

docker compose ps -a

3. Accedere all’applicazione web
Copia link

Visita http://localhost:8080 in locale oppure http://<SERVER_IP>:8080 sui server remoti. La pagina di test dovrebbe visualizzare correttamente il contenuto HTML.

4. Diagnosticare i problemi tramite i log
Copia link

In caso di problemi, ispeziona i log del container:

docker compose logs web

5. Arresto e pulizia corretti
Copia link

Arresta temporaneamente i container:

docker compose stop

Rimuovi tutte le risorse del progetto:

docker compose down

Riferimento comandi: oltre le operazioni di base
Copia link

I seguenti comandi migliorano la gestione dei container:

  • docker compose up --build – Ricostruisce le immagini prima dell’avvio

  • docker compose pause – Mette in pausa i container senza terminarli

  • docker compose top – Mostra i processi in esecuzione nei container

  • docker compose config – Valida e visualizza la configurazione finale

  • docker compose exec – Esegue comandi nei container attivi
    (ad esempio, docker compose exec web nginx -t per testare la configurazione di Nginx)

Conclusione
Copia link

Docker Compose trasforma l’orchestrazione di applicazioni multi-container da un’attività manuale e complessa a un processo strutturato, ripetibile ed efficiente. Seguendo i passaggi descritti — installazione di Docker Compose, definizione dei servizi in YAML e utilizzo dei comandi essenziali — è possibile gestire applicazioni complesse con sicurezza e controllo.