Préparer un fichier Compose simple avec plusieurs services
Dans cette étape, nous allons préparer un fichier Docker Compose simple qui définit plusieurs services. Docker Compose est un outil qui permet de définir et d'exécuter des applications multi-conteneurs Docker. Bien que Docker soit préinstallé sur cette VM, Docker Compose ne l'est pas. Nous allons d'abord l'installer.
Tout 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
Maintenant, vérifions l'installation en contrôlant la version.
docker-compose --version
Vous devriez voir les informations de version s'afficher dans la console, confirmant que Docker Compose est correctement installé.
Ensuite, nous allons créer un répertoire pour notre projet et nous y placer.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
Maintenant, nous allons créer un fichier docker-compose.yml
dans ce répertoire. Ce fichier définira nos services. Nous utiliserons l'éditeur nano
pour créer et modifier le fichier.
nano docker-compose.yml
Dans l'éditeur nano
, collez le contenu suivant. Ce fichier définit deux services : web
et redis
. Le service web
utilise l'image nginx
et mappe le port 80 du conteneur vers le port 8080 sur l'hôte. Le service redis
utilise l'image redis
.
version: "3.8"
services:
web:
image: nginx
ports:
- "8080:80"
redis:
image: redis
Après avoir collé le contenu, enregistrez le fichier en appuyant sur Ctrl + X
, puis Y
, et enfin Entrée
.
Avant de pouvoir démarrer les services, nous devons récupérer les images définies dans le fichier docker-compose.yml
. Nous pouvons le faire en utilisant la commande docker pull
.
docker pull nginx
docker pull redis
Ces commandes téléchargeront les images nginx
et redis
depuis Docker Hub.