Flux de travail Docker Compose
Comprendre Docker Compose
Docker Compose est un outil pour définir et exécuter des applications Docker multi-conteneurs. Il utilise des fichiers YAML pour configurer les services d'application, les réseaux et les volumes, permettant des architectures d'application complexes avec une configuration simple.
graph TD
A[Fichier YAML Docker Compose] --> B[Configuration du service]
B --> C[Orchestration des conteneurs]
B --> D[Configuration du réseau]
B --> E[Gestion des volumes]
Installation sous Ubuntu 22.04
## Installer Docker Compose
sudo apt update
sudo apt install docker-compose-plugin
## Vérifier l'installation
docker compose version
Fichier de configuration Docker Compose
Une structure docker-compose.yml
typique inclut des services, des réseaux et des volumes :
version: "3.8"
services:
web:
image: nginx:latest
ports:
- "8080:80"
database:
image: postgres:13
environment:
POSTGRES_PASSWORD: mysecretpassword
volumes:
- postgres-data:/var/lib/postgresql/data
volumes:
postgres-data:
Commandes Docker Compose clés
Commande |
Description |
docker compose up |
Créer et démarrer les conteneurs |
docker compose down |
Arrêter et supprimer les conteneurs |
docker compose ps |
Lister les conteneurs |
docker compose logs |
Afficher les logs des conteneurs |
docker compose build |
Construire ou reconstruire les services |
Exemple d'application multi-conteneurs
version: "3.8"
services:
frontend:
build: ./frontend
ports:
- "3000:3000"
backend:
build: ./backend
ports:
- "5000:5000"
depends_on:
- database
database:
image: mongo:latest
volumes:
- mongodb_data:/data/db
volumes:
mongodb_data:
Techniques de configuration avancées
services:
web:
restart: always
environment:
- DEBUG=True
networks:
- app_network
deploy:
replicas: 3
update_config:
parallelism: 1
networks:
app_network:
driver: bridge