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-compose
shellOra puoi assegnare permessi di esecuzione a Docker Compose:
$ sudo chmod +x /usr/local/bin/docker-compose
shellMediante l’opzione --version
verifichi che l’installazione di Compose sia avvenuta con successo.
$ docker-compose --version
shellOtterrai 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-compose
shellSecondo 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-test
shellAccedi alla directory e crea una nuova sottocartella per la directory principale dell’ambiente Nginx.
$ cd ~/compose-test
$ mkdir app
shellPer creare un file index.html puoi avvalerti di un qualsiasi editor di testo, come nano.
$ nano app/index.html
shellDi 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.yml
shellIl 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/html
YAMLNel 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 -d
shellQualora 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 ps
shellLa 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 stop
shellConsulta 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.