Installer Docker Compose sous Ubuntu
L’outil Compose de Docker est un outil idéal pour travailler dans le développement et les environnements de test, mais aussi pour les petites applications de production. Cet article explique comment orchestrer facilement des applications Docker avec Compose sous Ubuntu.
Docker Compose sous Ubuntu : prérequis
Avant de pouvoir utiliser Docker Compose, assurez-vous que votre système remplit bien les conditions suivantes :
- Docker Engine : comme Compose est une extension de Docker Engine, vous devez l’installer ;
- Système d’exploitation : Ubuntu, utilisateur sudo avec privilèges root.
Vous souhaitez utiliser un système d’exploitation autre que Linux ? Consultez notre guide pour savoir comment installer Docker Compose sur Windows et Docker Compose sur macOS.
Installer Docker Compose sur Ubuntu étape par étape
Pour utiliser Docker Compose sur Ubuntu, vous devez d’abord installer le Docker Engine sur votre système et vérifier qu’il s’exécute correctement. Une fois que Docker fonctionne, téléchargez Compose et créez le fichier YAML pour configurer vos applications.
Étape 1 : télécharger et installer Docker Compose
Téléchargez la dernière version de Docker Compose depuis le dépôt officiel GitHub en tapant la commande suivante dans un terminal :
$ curl -SL https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
shellVous devez ensuite accorder à Docker Compose les droits d’exécution :
$ sudo chmod +x /usr/local/bin/docker-compose
shellL’option « –version » permet de vérifier que Compose a bien été installé correctement.
$ docker-compose --version
shellVoici la sortie affichée :
Si l’installation échoue, jetez un œil au chemin d’accès et vérifiez que c’est le bon.
Il est aussi possible de créer un lien symbolique vers le chemin /usr/bin :
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
shellÉtape 2 : configurer le fichier docker-compose.yml
Pour expliquer la conception d’un fichier Docker-Compose-YAML, nous utilisons l’image Nginx du hub officiel de Docker pour l’environnement de conteneur.
Créez d’abord un nouveau dossier dans votre répertoire personnel :
$ mkdir ~/compose-test
shellAllez dans le répertoire et créez-y un nouveau dossier pour le répertoire root de votre environnement Nginx.
$ cd ~/compose-test
$ mkdir app
shellVous pouvez passer par n’importe quel éditeur de texte comme nano pour créer un index.html.
$ nano app/index.html
shellVoici le code HTML d’une page test :
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Docker Compose Test</title>
</head>
<body>
<h1>This is a Docker Compose Test Page for an Nginx container.</h1>
</body>
</html>
htmlSauvegardez et fermez le fichier HTML puis créez ensuite docker-compose.yml.
$ nano docker-compose.yml
shellLes contenus se composent du numéro de version de la configuration et du bloc Services.
version: ‘3.9’
services:
web:
image: nginx:alpine
ports:
- "8000:80"
volumes:
- ./app:/usr/share/nginx/html
YAMLDans le bloc Services, seul le service « web » est listé. Viennent ensuite l’image Nginx utilisée et la redirection de port. Dans ce cas, toutes les requêtes sur le port 8000 de la machine hôte sont redirigées vers le conteneur Web sur le port 80, sur lequel Nginx est exécuté. En outre, nous utilisons un volume partagé entre l’hôte et le conteneur qui permet à l’application Nginx d’accéder au dossier local « app ».
Étape 3 : exécuter Docker Compose
La commande suivante permet de créer un conteneur Web et d’exécuter l’environnement du conteneur en arrière-plan :
$ docker-compose up -d
shellSi l’image indiquée dans le fichier YAML n’est pas disponible sur le système local, elle est automatiquement téléchargée.
Pour tester le bon fonctionnement de l’environnement Nginx, tapez la commande ps
.
$ docker-compose ps
shellLa page test créée précédemment est désormais accessible sur localhost:8000 si vous exécutez la démo localement sur votre ordinateur. Si vous passez par un serveur distant, indiquez simplement l’adresse IP de votre serveur au lieu de « localhost ».
La commande stop
vous permet de quitter à nouveau l’application de conteneur.
$ docker-compose stop
shellNotre tutoriel Docker et notre tour d’horizon des commandes Docker vous aideront à démarrer avec l’outil de conteneur. Apprenez-en plus sur comment orchestrer Docker avec Swarm et Compose.