Installer et utiliser Docker Compose sur Ubuntu: Guide Complet
Docker Compose a profondément changé la manière dont les développeurs abordent les applications conteneurisées, en particulier lorsqu’il s’agit de coordonner des services interdépendants. Cet outil remplace la gestion manuelle des conteneurs par un flux de travail structuré et piloté par YAML, permettant aux équipes de définir des architectures applicatives complètes dans un seul fichier de configuration.
Dans les environnements Ubuntu, cela se traduit par des déploiements reproductibles, une mise à l’échelle simplifiée et une réduction de la charge opérationnelle. Ce guide propose une nouvelle approche de l’installation et de l’utilisation de Docker Compose, avec des explications approfondies sur sa mise en œuvre pratique.
Prérequis Copier le lien
Avant de commencer ce tutoriel, assurez-vous de disposer des éléments suivants :
-
Déployer une instance de serveur cloud Ubuntu chez Hostman.
-
Disposer d’un compte utilisateur avec des privilèges sudo ou un accès root, afin d’installer des paquets et de gérer Docker.
-
Avoir Docker installé et en cours d’exécution sur le serveur, car Docker Compose fonctionne au-dessus de Docker Engine.
Pourquoi Docker Compose est important Copier le lien
Les applications modernes sont souvent composées de plusieurs composants interconnectés, tels que des API, des bases de données et des couches de cache. Gérer ces éléments individuellement à l’aide de commandes Docker devient rapidement complexe à mesure que l’architecture s’étoffe. Docker Compose résout ce problème en permettant de déclarer tous les services, réseaux et besoins de stockage dans un fichier docker-compose.yml. Cette approche garantit la cohérence entre les environnements, que vous travailliez sur une machine Ubuntu locale ou sur un serveur cloud.
Par exemple, une application web composée d’un backend Node.js, d’une base de données PostgreSQL et d’un cache Redis. Sans Docker Compose, chaque composant nécessite une commande docker run distincte avec des paramètres réseau précis. Avec Compose, ces relations sont définies une seule fois, ce qui permet de démarrer et d’arrêter l’ensemble de l’application avec une seule commande.
Installation de Docker Compose Copier le lien
Suivez les étapes ci-dessous pour installer Docker Compose sur votre système Ubuntu.
Étape 1 : Vérifier que Docker est installé et en cours d’exécution Copier le lien
Docker Compose fonctionne comme une extension de Docker. Vérifiez donc l’état du service Docker :
sudo systemctl status docker
S’il n’est pas actif, démarrez-le avec :
sudo systemctl start docker
Étape 2 : Mettre à jour les paquets système Copier le lien
Actualisez la liste des paquets afin d’accéder aux versions logicielles les plus récentes :
sudo apt-get update
Étape 3 : Installer les utilitaires de base Copier le lien
Pour assurer une communication sécurisée avec les dépôts Docker, les paquets suivants sont nécessaires:
sudo apt-get install ca-certificates curl
Étape 4 : Configurer la clé GPG de Docker Copier le lien
Authentifiez les paquets Docker en ajoutant leur clé cryptographique :
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
Cette étape garantit que les paquets n’ont pas été modifiés pendant le téléchargement.
Étape 5 : Ajouter le dépôt Docker Copier le lien
Ajoutez le dépôt Docker correspondant à votre version d’Ubuntu :
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Cette commande détecte automatiquement la version du système via VERSION_CODENAME.
Étape 6 : Installer le plugin Docker Compose Copier le lien
Mettez à jour les dépôts et installez l’extension Compose :
sudo apt update
sudo apt-get install docker-compose-plugin
Étape 7 : Vérifier l’installation Copier le lien
Confirmez que Docker Compose est correctement installé :
docker compose version
Exemple de sortie :
Docker Compose version v2.33.0
Créer un projet Docker Compose pratique Copier le lien
Pour démontrer les capacités de Docker Compose, nous allons déployer un serveur web à l’aide de Nginx.
1. Initialiser le répertoire du projet Copier le lien
Créez un espace de travail dédié :
mkdir ~/compose-demo && cd ~/compose-demo
2. Définir les services dans docker-compose.yml Copier le lien
Créez le fichier de configuration :
nano docker-compose.yml
Ajoutez le contenu suivant :
services:
web:
image: nginx:alpine
ports:
- "8080:80"
volumes:
- ./app:/usr/share/nginx/html
Explication :
-
services : Élément racine définissant les conteneurs
-
web : Nom personnalisé du service
-
image : Image Nginx basée sur Alpine pour une empreinte réduite
-
ports : Redirige le port 8080 de l’hôte vers le port 80 du conteneur
-
volumes : Synchronise le répertoire local app avec la racine web du conteneur
3. Créer le contenu web Copier le lien
Construisez la structure HTML :
mkdir app
nano app/index.html
Ajoutez le code HTML suivant :
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Docker Compose Test</title>
</head>
<body>
<h1>Hello from Docker Compose!</h1>
</body>
</html>
Orchestration des conteneurs : du démarrage à l’arrêt Copier le lien
1. Démarrer les services en mode détaché Copier le lien
docker compose up -d
Docker Compose téléchargera automatiquement l’image Nginx si nécessaire et configurera le réseau.
2. Vérifier l’état des conteneurs Copier le lien
docker compose ps -a
3. Accéder à l’application web Copier le lien
Accédez à http://localhost:8080 en local ou à http://<SERVER_IP>:8080 sur un serveur distant. La page de test devrait s’afficher correctement.
4. Diagnostiquer les problèmes via les logs Copier le lien
En cas de problème, consultez les journaux du conteneur :
docker compose logs web
5. Arrêt propre et nettoyage Copier le lien
Arrêter temporairement les conteneurs :
docker compose stop
Supprimer toutes les ressources du projet :
docker compose down
Référence des commandes : au-delà des bases Copier le lien
Ces commandes permettent d’aller plus loin dans la gestion des conteneurs :
-
docker compose up --build – Reconstruire les images avant le démarrage
-
docker compose pause – Mettre les conteneurs en pause sans les arrêter
-
docker compose top – Afficher les processus en cours d’exécution dans les conteneurs
-
docker compose config – Valider et afficher la configuration finale
-
docker compose exec – Exécuter des commandes dans des conteneurs en cours d’exécution
(par exemple, docker compose exec web nginx -t pour tester la configuration Nginx)
Conclusion Copier le lien
Docker Compose transforme l’orchestration multi-conteneurs d’une tâche manuelle et complexe en un processus structuré, reproductible et efficace. En suivant les étapes décrites — installation de Docker Compose, définition des services en YAML et utilisation des commandes essentielles — vous pouvez gérer des applications complexes en toute confiance.