Installare Docker Compose su Debian 9

Come installare Docker Compose ed eseguire un'applicazione multi-container su Debian 9.

Docker Compose è uno strumento per definire ed eseguire applicazioni Docker multi-container. I servizi vengono configurati in un file YAML, consentendoti di avviare l'intero ambiente con un singolo comando.

Funzionalità principali:

  • più ambienti isolati su un singolo host;
  • i dati dei volume vengono preservati quando i container vengono ricreati;
  • vengono ricreati solo i container modificati;
  • le variabili possono essere trasferite tra gli ambienti.

Prima di installare Docker Compose, assicurati che Docker sia già installato — consulta Installazione di Docker su Debian 9.

Installazione

Scarica Docker Compose dal repository GitHub. Controlla l'ultima versione disponibile e aggiorna il numero di versione nel comando se necessario:

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

Imposta il permesso di esecuzione:

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

Verifica l'installazione:

docker-compose --version

Output atteso:

docker-compose version 1.25.5, build 8a1c60f6

Avviare un container con Docker Compose

Crea una directory per il progetto di test e spostati al suo interno:

mkdir hello-world
cd hello-world

Crea un file docker-compose.yml:

nano docker-compose.yml

Aggiungi il seguente contenuto e salva il file:

my-test:
 image: hello-world

La prima riga definisce parte del nome del container, la seconda specifica l'immagine da utilizzare. Quando esegui docker-compose up, Docker cerca prima l'immagine in locale e, se non la trova, la scarica da Docker Hub.

Controlla l'elenco delle immagini locali:

docker images

Se non sono presenti immagini, verranno visualizzate solo le intestazioni delle colonne:

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

Avvia il container:

docker-compose up

Docker scaricherà l'immagine, creerà il container e lo avvierà:

Creating hello-world_my-test_1 ... done
Attaching to hello-world_my-test_1
my-test_1  | 
my-test_1  | Hello from Docker!
my-test_1  | This message shows that your installation appears to be working correctly.
...
hello-world_my-test_1 exited with code 0

Il container si ferma al termine del programma. Non comparirà nell'elenco dei processi attivi:

docker ps

Per visualizzare tutti i container, inclusi quelli fermi, usa il flag -a:

docker ps -a

Esempio di output:

CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     NAMES
4e8158d490ac   hello-world   "/hello"   7 minutes ago   Exited (0) 7 minutes ago   hello-world_my-test_1

Aiuto

Hai domande o ti serve una mano? Scrivici tramite il sistema di ticket — siamo sempre qui per aiutarti!

Hai bisogno di aiuto?I nostri ingegneri ti aiuteranno gratuitamente con qualsiasi domanda in pochi minutiContattaci