Come installare Docker Compose su Ubuntu
Docker Compose è particolarmente adatto agli ambienti di sviluppo e di test, ma anche a piccole implementazioni di produzione. Ti spieghiamo come orchestrare facilmente le applicazioni Docker Compose su Ubuntu.
Quali sono i requisiti per installare Docker Compose su Ubuntu?
Per utilizzare Docker Compose, occorre prima assicurarsi che il sistema soddisfi i seguenti requisiti:
- Docker Engine: è richiesta l’installazione di Compose, un’estensione di Docker Engine.
- Sistema operativo: Ubuntu, utente sudo con permessi root.
È possibile utilizzare anche un sistema operativo diverso da Linux. Consulta i nostri articoli su come installare Docker Compose su Windows e Docker Compose su macOS.
Come installare Docker Compose su Ubuntu: procedura guidata
La prima cosa da fare per utilizzare Docker Compose su Ubuntu è installare Docker Engine sul sistema e assicurarsi che funzioni correttamente. Non appena Docker è in funzione, puoi scaricare Compose e creare il file YAML per configurare le applicazioni.
Primo passaggio: scaricare e installare Docker Compose
Scarica l’ultima versione di Docker Compose dal repository ufficiale di GitHub inserendo il seguente comando nel terminale:
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-composeshellOra puoi assegnare permessi di esecuzione a Docker Compose:
$ sudo chmod +x /usr/local/bin/docker-composeshellMediante l’opzione --version verifichi che l’installazione di Compose sia avvenuta con successo.
$ docker-compose --versionshellOtterrai il seguente output:

In caso di problemi nell’installazione, controlla il percorso.
Puoi anche creare un collegamento simbolico al percorso /usr/bin:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-composeshellSecondo passaggio: configurare il file docker-compose.yml
A dimostrazione della progettazione di un file YAML di Docker Compose, impieghiamo l’immagine di Nginx dal Docker Hub ufficiale per l’ambiente del contenitore.
Inizia creando una nuova cartella nella tua directory home:
$ mkdir ~/compose-testshellAccedi alla directory e crea una nuova sottocartella per la directory principale dell’ambiente Nginx.
$ cd ~/compose-test
$ mkdir appshellPer creare un file index.html puoi avvalerti di un qualsiasi editor di testo, come nano.
$ nano app/index.htmlshellDi seguito è riportato il codice HTML relativo a una pagina di esempio:
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Docker Compose Test</title>
</head>
<body>
<h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>htmlSalva e chiudi il file HTML. A questo punto crea docker-compose.yml.
$ nano docker-compose.ymlshellIl contenuto del file è suddiviso tra la versione della configurazione e il blocco dei servizi.
version: '3.9'
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/htmlYAMLNel blocco dei servizi, l’unico servizio elencato è “web”. A questo si aggiungono l’immagine Nginx utilizzata e il reindirizzamento della porta. Nel nostro caso, tutte le richieste sulla porta 8000 della macchina host vengono inoltrate al contenitore web sulla porta 80, dove è in esecuzione Nginx. Infine, abbiamo utilizzato un volume condiviso tra l’host e il contenitore. In questo modo l’applicazione Nginx può accedere alla cartella locale “app”.
Terzo passaggio: eseguire Docker Compose
Ci serviamo del seguente comando per creare un container web ed eseguire l’ambiente del contenitore in background:
$ docker-compose up -dshellQualora l’immagine specificata nel file YAML non sia disponibile sul sistema locale, verrà scaricata automaticamente.
Per verificare se l’ambiente Nginx è in esecuzione, basta immettere il comando ps.
$ docker-compose psshellLa pagina di esempio creata in precedenza è ora accessibile su localhost:8000 con la demo eseguita in locale sul tuo computer. Nel caso di un server remoto, basterà inserire l’indirizzo IP del server al posto di “localhost”.

Usando stop puoi arrestare l’applicazione del contenitore.
$ docker-compose stopshellConsulta il nostro tutorial su Docker e l’elenco dei comandi Docker, per ulteriori istruzioni e informazioni utili per imparare a usare lo strumento di containerizzazione. Inoltre, in questo articolo ti spieghiamo come orchestrare Docker con Swarm e Compose.

