Introduzione
Docker Compose è uno strumento da riga di comando che consente di definire e orchestrare applicazioni Docker multi-container. Utilizza un file YAML per configurare servizi, reti e volumi dell'applicazione.
Con Compose, puoi definire un ambiente di applicazione portatile che puoi eseguire su qualsiasi sistema. Gli ambienti di composizione sono isolati l'uno dall'altro, consentendo di eseguire più copie dello stesso ambiente su un singolo host.
Compose viene in genere utilizzato per lo sviluppo locale, distribuzioni di applicazioni per host singolo e test automatizzati.
Questo articolo spiega come installare l'ultima versione di Docker Compose su Ubuntu 20.04 LTS Focal Fossa. Esploreremo anche i concetti e i comandi base di Docker Compose.
Prerequisiti
Supponiamo che tu abbia Docker installato sul tuo computer Ubuntu 20.04 LTS, in caso contrario leggere il seguente tutorial: Come installare e configurare Docker su Ubuntu 20.04 LTS.
Prima di continuare con questo tutorial è necessario rispettare i seguenti prerequisiti:
- Utente con privilegi sudo.
Se desideri installare Docker Compose su un server in remoto continua a leggere, altrimenti salta il primo paragrafo "Connessione al Server" e leggi il successivo.
Connessione al Server
Per accedere al server, è necessario conoscere l'indirizzo IP. Avrai anche bisogno dell'username e della password per l'autenticazione. Per connettersi al server come utente root digitare il seguente comando:
ssh root@IP_DEL_SERVER
Successivamente sarà necessario inserire la password dell'utente root.
Se non utilizzate l'utente root potete connettervi con un'altro nome utente utilizzando lo stesso comando, quindi modificare root con il vostro nome_utente:
ssh nome_utente@IP_DEL_SERVER
Successivamente vi verrà chiesto di inserire la password del vostro utente.
La porta standard per connettersi tramite ssh è la 22, se il vostro server utilizza una porta diversa, sarà necessario specificarla utilizzando il parametro -p, quindi digitare il seguente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Installare Docker Compose
Docker Compose è un singolo file binario. L'installazione è semplice. Scaricheremo il file in una directory che si trova nel PATH sistema e lo renderemo eseguibile.
Il pacchetto Docker Compose è disponibile nei repository ufficiali Ubuntu 20.04 LTS, ma potrebbe non essere sempre l'ultima versione.
Al momento della stesura di questo articolo, è l'ultima versione stabile di Docker Compose è la 1.25.5
. Prima di scaricare il binario Compose, visitare la pagina di rilascio del repository Compose su GitHub e verificare se è disponibile una nuova versione per il download.
Utilizzare curl
per scaricare il file Compose nella directory /usr/local/bin
:
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Una volta completato il download, applica le autorizzazioni eseguibili al file:
sudo chmod +x /usr/local/bin/docker-compose
Per verificare che l'installazione abbia avuto esito positivo, eseguire il comando seguente che stamperà la versione di Compose:
docker-compose --version
L'output sarà simile al seguente:
docker-compose version 1.25.5, build 8a1c60f6
Questo è tutto! Docker Compose è stato installato sul tuo computer Ubuntu e puoi iniziare a usarlo.
Introduzione a Docker Compose
In questa sezione, utilizzeremo Docker Compose per creare un'applicazione WordPress multi-contenitore
Il primo passo è creare una directory di progetto con il comando mkdir:
mkdir my_app
Entrare nella cartella appena creata con il comando cd:
cd my_app
Apri il tuo editor di testo e crea un file chiamato docker-compose.yml
all'interno della directory del progetto:
nano docker-compose.yml
Incolla il seguente contenuto:
Analizziamo la struttura del file docker-compose.yml
.
La prima riga del file specifica la versione del file Compose. Esistono diverse versioni del formato file Compose con supporto per specifiche versioni Docker.
Successivamente, si definiscono servizi, volumi e reti.
In questo esempio, abbiamo servizi db
e wordpress
. Ogni servizio esegue un'immagine e crea un contenitore separato quando viene eseguita la composizione docker.
I servizi possono utilizzare immagini disponibili su DockerHub o immagini create dal Dockerfile. La sezione di servizio include anche chiavi che specificano porte, volumi, variabili di ambiente, dipendenze e altri comandi Docker esposti
Dalla directory del progetto, avvia l'applicazione WordPress eseguendo il comando seguente:
docker-compose up
Compose estrae le immagini, avvia i contenitori e crea la directory wp_data
.
Entra http://TUO_INDIRIZZO_IP:8080/
nel tuo browser e vedrai la schermata di installazione di Wordpress. A questo punto, l'applicazione Wordpress è attiva e puoi iniziare a lavorare sul tuo tema o plugin.
Per interrompere la composizione, premere CTRL+C
.
Puoi anche avviare la composizione in detached mode (in background) passando l'opzione -d
:
docker-compose up -d
Per verificare i servizi in esecuzione utilizzare l'opzione ps
:
docker-compose ps
Name Command State Ports
----------------------------------------------------------------------------------
my_app_db_1 docker-entrypoint.sh mysqld Up 3306/tcp, 33060/tcp
my_app_wordpress_1 docker-entrypoint.sh apach ... Up 0.0.0.0:8080->80/tcp
Quando Compose è in esecuzione in detached mode per interrompere i servizi, eseguire:
docker-compose stop
Per interrompere e rimuovere i contenitori e le reti dell'applicazione, utilizzare l'opzione down
:
docker-compose down
Disinstallare Docker Compose
Per disinstallare Docker Compose, è sufficiente rimuovere il file binario digitando:
sudo rm /usr/local/bin/docker-compose
Conclusione
Ti abbiamo mostrato come installare Docker Compose su Ubuntu 20.04 LTS Focal Fossa. L'uso di Docker Compose può migliorare significativamente il flusso di lavoro e la produttività. Puoi definire il tuo ambiente di sviluppo con Docker Compose e condividerlo con i collaboratori del progetto.