Générer un graphe de base à partir d'un fichier compose
Dans cette étape, vous apprendrez à générer une représentation graphique de base de votre fichier Docker Compose. Ceci est utile pour visualiser les relations entre vos services, réseaux et volumes.
Tout d'abord, vous devez installer Docker Compose. Comme il n'est pas préinstallé dans l'environnement LabEx, vous l'installerez en utilisant pip
.
sudo apt update
sudo apt install -y python3-pip
pip install docker-compose
Une fois l'installation terminée, vous pouvez vérifier l'installation en consultant la version de Docker Compose.
docker-compose --version
Vous devriez voir une sortie similaire à docker-compose version 1.29.2, build 5becea4c
.
Maintenant, créons un fichier Docker Compose simple. Accédez à votre répertoire de projet et créez un fichier nommé docker-compose.yml
.
cd ~/project
nano docker-compose.yml
Ajoutez le contenu suivant au fichier docker-compose.yml
:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
app:
image: ubuntu:latest
command: sleep infinity
Ce fichier docker-compose.yml
définit deux services : web
utilisant l'image nginx:latest
et app
utilisant l'image ubuntu:latest
. Le service web
mappe le port 80 de l'hôte vers le port 80 du conteneur. Le service app
exécute simplement la commande sleep infinity
pour maintenir le conteneur en fonctionnement.
Pour générer un graphe de base à partir de ce fichier compose, vous utiliserez la commande docker-compose config
avec l'option --graph
. Cette commande analyse le fichier compose et produit une représentation graphique au format DOT.
docker-compose config --graph
La sortie sera en langage DOT, un langage de description de graphes. Elle montrera les services et leurs connexions de base. Par exemple, vous pourriez voir quelque chose comme :
digraph {
compound=true
"web" [label="web"]
"app" [label="app"]
"web" -> "app" [label="depends_on"]
}
Cette sortie DOT représente un graphe orienté où web
et app
sont des nœuds, avec une arête orientée de web
vers app
étiquetée "depends_on". Bien que cet exemple simple ne définisse pas explicitement de dépendances, docker-compose config --graph
peut inférer certaines relations.