Préparer un fichier docker-compose.yml simple
Dans cette étape, nous allons préparer un fichier docker-compose.yml
simple. Avant de commencer, installons Docker Compose. Comme l'environnement VM LabEx n'a pas Docker Compose préinstallé, nous devons l'installer manuellement. Nous allons télécharger le binaire Docker Compose et le rendre exécutable.
Tout d'abord, téléchargez le binaire Docker Compose en utilisant curl
. Nous téléchargerons la version 1.29.2
, compatible avec la version de Docker installée.
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
Cette commande télécharge le binaire Docker Compose depuis la page officielle des releases GitHub et l'enregistre dans /usr/local/bin/docker-compose
. Les parties $(uname -s)
et $(uname -m)
détectent automatiquement votre système d'exploitation et architecture pour garantir le téléchargement du bon binaire.
Ensuite, nous devons rendre le binaire téléchargé exécutable.
sudo chmod +x /usr/local/bin/docker-compose
Cette commande ajoute les permissions d'exécution au fichier docker-compose
, vous permettant de l'exécuter comme une commande.
Maintenant, vérifions que Docker Compose est correctement installé en contrôlant sa version.
docker-compose --version
Vous devriez voir une sortie similaire à docker-compose version 1.29.2, build 5becea4c
. Ceci confirme que Docker Compose est installé et prêt à l'emploi.
Maintenant, créons un fichier docker-compose.yml
simple dans votre répertoire ~/project
. Ce fichier définira un service unique utilisant l'image nginx
.
nano ~/project/docker-compose.yml
Cette commande ouvre l'éditeur de texte nano
pour créer et éditer le fichier docker-compose.yml
. Collez le contenu suivant dans l'éditeur:
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Décomposons ce fichier docker-compose.yml
:
version: '3.8'
spécifie la version du format de fichier Docker Compose.
services:
définit les services (conteneurs) que vous souhaitez exécuter.
web:
est le nom de notre service. Vous pouvez choisir n'importe quel nom.
image: nginx:latest
spécifie l'image Docker à utiliser pour ce service. Ici, nous utilisons la dernière version de l'image officielle Nginx.
ports:
mappe les ports entre la machine hôte et le conteneur. "80:80"
mappe le port 80 de l'hôte vers le port 80 du conteneur. Cela signifie que vous pouvez accéder au serveur web Nginx dans le conteneur en visitant http://localhost
dans votre navigateur (ou l'adresse IP de la VM).
Enregistrez le fichier en appuyant sur Ctrl + O
, puis Entrée
, et quittez l'éditeur avec Ctrl + X
.
Vous avez maintenant créé avec succès un fichier docker-compose.yml
simple définissant un service web utilisant l'image Nginx. Dans les prochaines étapes, nous utiliserons ce fichier pour créer et gérer des conteneurs.