Préparer un projet Docker Compose simple
Dans cette étape, nous allons préparer un projet Docker Compose simple. Comme Docker Compose n'est pas préinstallé dans l'environnement LabEx, nous allons d'abord l'installer. Docker Compose est un outil pour définir et exécuter des applications multi-conteneurs Docker. Avec Compose, vous utilisez un fichier YAML pour configurer les services de votre application. Ensuite, avec une seule commande, vous créez et démarrez tous les services à partir de votre configuration.
D'abord, installons Docker Compose. Nous allons télécharger la dernière version stable et la rendre exécutable.
sudo curl -L "https://github.com/docker/compose/releases/download/v2.20.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Après l'installation, vérifiez-la en contrôlant la version.
docker-compose --version
Vous devriez voir le numéro de version dans la sortie, confirmant que Docker Compose est correctement installé.
Maintenant, créons un projet Docker Compose simple. Nous allons créer un répertoire pour notre projet puis un fichier docker-compose.yml
à l'intérieur. Ce fichier définira un service web simple utilisant l'image nginx
.
Accédez au répertoire du projet.
cd ~/project
Créez un nouveau répertoire pour notre projet, par exemple my-web-app
.
mkdir my-web-app
cd my-web-app
Maintenant, créez le fichier docker-compose.yml
avec l'éditeur nano
.
nano docker-compose.yml
Ajoutez le contenu suivant au fichier docker-compose.yml
:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Ce fichier docker-compose.yml
définit un service nommé web
. Ce service utilise l'image Docker nginx:latest
et mappe le port 80 de l'hôte vers le port 80 du conteneur.
Sauvegardez le fichier en appuyant sur Ctrl + X
, puis Y
, et Entrée
.
Maintenant, nous pouvons démarrer les services définis dans le fichier docker-compose.yml
avec la commande docker-compose up
. Le flag -d
exécute les conteneurs en mode détaché, ce qui signifie qu'ils tourneront en arrière-plan.
docker-compose up -d
Cette commande téléchargera l'image nginx:latest
(si elle n'est pas déjà présente) et démarrera un conteneur pour le service web
.
Vous pouvez vérifier l'état des conteneurs en cours d'exécution avec la commande docker ps
.
docker ps
Vous devriez voir un conteneur nommé my-web-app_web_1
(ou similaire, selon le nom du répertoire) en cours d'exécution avec le port 80 redirigé.
Pour vérifier que le serveur web fonctionne, vous pouvez utiliser curl
pour y accéder.
curl http://localhost
Vous devriez voir la page d'accueil par défaut de Nginx en HTML dans la sortie. Cela confirme que notre projet Docker Compose simple est correctement configuré et fonctionne.