Préparer un fichier docker-compose.yml simple
Dans cette étape, nous allons préparer un fichier docker-compose.yml
simple. Avant de commencer, nous devons installer Docker Compose. 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.
Tout d'abord, installons Docker Compose. Nous allons télécharger le binaire Docker Compose et le 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 de Docker Compose.
docker-compose --version
Vous devriez voir une sortie similaire à Docker Compose version v2.20.2
.
Ensuite, nous allons créer un répertoire pour notre projet et nous y placer.
mkdir ~/project/my-docker-app
cd ~/project/my-docker-app
Maintenant, nous allons créer un fichier docker-compose.yml
en utilisant l'éditeur nano
. Ce fichier définira un service web simple utilisant l'image nginx
.
nano docker-compose.yml
Dans l'éditeur nano
, collez le contenu suivant :
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Analysons ce fichier docker-compose.yml
:
version: '3.8'
spécifie la version du format de fichier Compose.
services:
définit les services de notre application.
web:
est le nom de notre service.
image: nginx:latest
spécifie l'image Docker à utiliser pour ce service. Ici, nous utilisons la dernière version de l'image nginx
.
ports:
mappe les ports entre l'hôte et le conteneur. "80:80"
mappe le port 80 de l'hôte vers le port 80 du conteneur.
Enregistrez le fichier en appuyant sur Ctrl + X
, puis Y
, et enfin Entrée
.
Avant de démarrer le service, nous devons récupérer l'image nginx:latest
.
docker pull nginx:latest
Cette commande télécharge l'image nginx:latest
depuis Docker Hub.