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!