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.
Consiglio

È 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
shell

Ora puoi assegnare permessi di esecuzione a Docker Compose:

$ sudo chmod +x /usr/local/bin/docker-compose
shell

Mediante l’opzione --version verifichi che l’installazione di Compose sia avvenuta con successo.

$ docker-compose --version
shell

Otterrai il seguente output:

Versione di Docker Compose
Se visualizzi il numero di versione, significa che l’installazione di Docker Compose è avvenuta con successo.

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
shell

Secondo 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
shell

Accedi alla directory e crea una nuova sottocartella per la directory principale dell’ambiente Nginx.

$ cd ~/compose-test
$ mkdir app
shell

Per creare un file index.html puoi avvalerti di un qualsiasi editor di testo, come nano.

$ nano app/index.html
shell

Di 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>
html

Salva e chiudi il file HTML. A questo punto crea docker-compose.yml.

$ nano docker-compose.yml
shell

Il 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
YAML

Nel 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
shell

Qualora 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
shell

La 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”.

Pagina di esempio di Docker Compose
Pagina di esempio per un container Nginx

Usando stop puoi arrestare l’applicazione del contenitore.

$ docker-compose stop
shell
Consiglio

Consulta 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.

Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.