Démarrer un projet Compose exemple
Dans cette étape, nous allons apprendre à démarrer un projet Compose exemple. Avant de pouvoir utiliser Docker Compose, nous devons l'installer. Comme l'environnement VM LabEx ne dispose pas de Docker Compose préinstallé, nous allons d'abord l'installer.
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
Après l'installation, nous pouvons vérifier celle-ci en contrôlant la version de Docker Compose.
docker-compose --version
Vous devriez voir les informations de version s'afficher dans la console, confirmant que Docker Compose est correctement installé.
Maintenant, créons un projet Compose simple. Nous allons créer un répertoire pour notre projet puis y créer un fichier docker-compose.yml
. Ce fichier définira les services de notre application.
D'abord, créez un répertoire nommé my-compose-app
.
mkdir ~/project/my-compose-app
cd ~/project/my-compose-app
Ensuite, créez un fichier nommé docker-compose.yml
dans le répertoire ~/project/my-compose-app
en utilisant l'éditeur nano
.
nano docker-compose.yml
Ajoutez le contenu suivant au fichier docker-compose.yml
. Ce fichier définit un service unique nommé web
utilisant l'image nginx
.
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
Sauvegardez le fichier et quittez l'éditeur nano
(Appuyez sur Ctrl + X
, puis Y
, puis Entrée
).
Avant de démarrer le service, assurons-nous que l'image nginx:latest
est disponible localement. Nous pouvons récupérer l'image avec la commande docker pull
.
docker pull nginx:latest
Maintenant que nous avons le fichier docker-compose.yml
et l'image nécessaire, nous pouvons démarrer le projet Compose avec la commande docker-compose up
. Le flag -d
exécute les services en mode détaché, c'est-à-dire en arrière-plan.
docker-compose up -d
Cette commande va créer et démarrer le service web
tel que défini dans le fichier docker-compose.yml
. Vous devriez voir une sortie indiquant que le service est en cours de création et de démarrage.
Pour vérifier que le service fonctionne, vous pouvez utiliser la commande docker ps
pour lister les conteneurs en cours d'exécution. Vous devriez voir un conteneur pour le service web
.
docker ps
Vous pouvez également accéder au serveur web Nginx en ouvrant un navigateur web et en naviguant vers l'adresse IP de votre VM LabEx. Comme nous avons mappé le port 80 du conteneur sur le port 80 de l'hôte, vous devriez voir la page d'accueil par défaut de Nginx.