Configuration des services
Présentation de Docker Compose
Docker Compose est un outil permettant de définir et d'exécuter des applications Docker multi-conteneurs. Il vous permet d'utiliser un fichier YAML pour configurer les services, les réseaux et les volumes de votre application.
Structure du fichier Compose
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "80:80"
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: example
Paramètres de configuration
Sections de configuration clés
Section |
Description |
Exemple |
version |
Version du format du fichier Compose |
3.8 |
services |
Définit les conteneurs |
web, database |
networks |
Crée des réseaux personnalisés |
frontend, backend |
volumes |
Stockage de données persistant |
database_data |
Exemple détaillé de définition de service
version: "3.8"
services:
## Service d'application web
web:
image: nginx:latest
container_name: web-server
ports:
- "8080:80"
volumes:
- ./website:/usr/share/nginx/html
networks:
- web_network
restart: always
## Service de base de données
database:
image: postgres:13
container_name: postgres-db
environment:
POSTGRES_DB: myapp
POSTGRES_USER: admin
POSTGRES_PASSWORD: securepassword
volumes:
- postgres_data:/var/lib/postgresql/data
networks:
- web_network
restart: unless-stopped
networks:
web_network:
driver: bridge
volumes:
postgres_data:
Gestion de la configuration des services
graph TD
A[Fichier YAML Docker Compose] --> B{Valider la configuration}
B --> |Valide| C[Construire les services]
B --> |Invalide| D[Afficher l'erreur]
C --> E[Démarrer les conteneurs]
E --> F[Surveiller les services]
Techniques de configuration avancées
Variables d'environnement
## Créer le fichier .env
echo "DB_PASSWORD=mysecretpassword" > .env
## Référence dans docker-compose.yml
environment:
- DB_PASSWORD=${DB_PASSWORD}
Tests de santé
services:
web:
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost"]
interval: 30s
timeout: 10s
retries: 3
Commandes de configuration courantes
## Valider le fichier compose
docker-compose config
## Démarrer les services
docker-compose up -d
## Arrêter les services
docker-compose down
## Afficher les journaux des services
docker-compose logs web
## Reconstruire les services
docker-compose up -d --build
Bonnes pratiques
- Utiliser des fichiers compose spécifiques à l'environnement
- Implémenter une gestion appropriée des volumes
- Utiliser les réseaux pour l'isolation des services
- Exploiter les variables d'environnement
- Implémenter des tests de santé
Remarque : LabEx fournit des environnements interactifs pour mettre en pratique efficacement ces configurations Docker Compose.