Guide pour déployer et configurer rapidement vos bases de données de développement avec Docker.
Le problÚme : Installer et configurer une base de données pour le développement prend du temps, pollue votre systÚme et peut créer des conflits de versions.
La solution : Docker ! Ce guide vous fournit des configurations prĂȘtes Ă l'emploi pour dĂ©marrer n'importe quelle base de donnĂ©es en quelques secondes, avec des environnements isolĂ©s et reproductibles.
⚠Points clés :
- đïž 13 bases de donnĂ©es (SQL et NoSQL)
 - ⥠Installation en < 5 minutes par BDD
 - đ§ Multiples configurations (basique, IP fixe, avec GUI)
 - đ Gestion des utilisateurs et permissions
 - đ AccĂšs rĂ©seau local configurĂ©
 - đ 7 annexes de rĂ©fĂ©rence complĂštes
 - đ 5 cas pratiques (stacks complĂštes)
 - đ«đ· En français et gratuit (CC BY 4.0)
 
Idéal pour : Développeurs, étudiants, formateurs, tests d'applications
| Base | Version | Fiches | Use Case Principal | 
|---|---|---|---|
| đŹ MariaDB | 10.11+ | 5 | Alternative MySQL open source | 
| đ PostgreSQL | 15+ | 5 | BDD relationnelle avancĂ©e | 
| đ· MS SQL Server | 2022 | 4 | Environnements .NET | 
| đŠ SQLite | 3.x | 3 | BDD embarquĂ©e lĂ©gĂšre | 
| đ„ Firebird | 4.x | 5 | Applications Delphi/Pascal, embedded | 
| Base | Type | Fiches | Use Case Principal | 
|---|---|---|---|
| đ MongoDB | Document | 5 | Applications web modernes | 
| đŽ Redis | ClĂ©-Valeur | 5 | Cache et temps rĂ©el | 
| đ¶ Cassandra | Colonnes | 4 | Big Data distribuĂ© | 
| đ Neo4j | Graphe | 4 | RĂ©seaux sociaux, graphes | 
| đ InfluxDB | SĂ©ries temporelles | 4 | MĂ©triques et IoT | 
| ⥠DynamoDB | Document | 4 | Compatible AWS | 
| đ Elasticsearch | Recherche | 4 | Moteur de recherche | 
Total : 53 fiches de configuration couvrant tous les cas d'usage !
# Vérifier Docker
docker --version
# Minimum requis : Docker 20.10+
# Vérifier Docker Compose
docker-compose --version
# Minimum requis : Docker Compose 2.0+Installer Docker :
- đȘ Windows : Docker Desktop
 - đ macOS : Docker Desktop
 - đ§ Linux : 
curl -fsSL https://get.docker.com | sh 
# 1. Créer le fichier docker-compose.yml
cat > docker-compose.yml << 'EOF'
version: '3.8'
services:
  postgres:
    image: postgres:15
    container_name: postgres_dev
    environment:
      POSTGRES_PASSWORD: dev_password
    ports:
      - "5432:5432"
    volumes:
      - postgres_data:/var/lib/postgresql/data
volumes:
  postgres_data:
EOF
# 2. Démarrer
docker-compose up -d
# 3. Connecter
docker exec -it postgres_dev psql -U postgres
# đ C'est prĂȘt !Se connecter depuis un client :
- HĂŽte : 
localhostou127.0.0.1 - Port : 
5432 - Utilisateur : 
postgres - Mot de passe : 
dev_password 
đ SOMMAIRE.md - Table des matiĂšres dĂ©taillĂ©e
| Vous voulez... | Consultez... | 
|---|---|
| đ DĂ©marrer une BDD rapidement | Les fiches 01-config-basique-* | 
| đ§ Configuration avancĂ©e | Les fiches 02-config-avec-* et suivantes | 
| đ IP fixe pour conteneur | Les fiches *-config-ip-fixe | 
| đ„ GĂ©rer les utilisateurs | Les fiches *-gestion-utilisateurs | 
| đ„ïž Interface graphique | Les fiches *-avec-[GUI] | 
| đ RĂ©fĂ©rence commandes | Annexe A | 
| đ Stack complĂšte | Cas pratiques | 
# 1. Choisir votre BDD
cd 02-postgresql  # Par exemple
# 2. Lire le README de la BDD
cat README.md
# 3. Suivre une fiche
cat 01-config-basique-docker-compose.md
# 4. Copier le docker-compose.yml
# 5. Personnaliser (mots de passe, ports...)
# 6. Lancer : docker-compose up -dbdd-docker-dev/
âââ README.md                    # Ce fichier
âââ SOMMAIRE.md                  # Table des matiĂšres dĂ©taillĂ©e
âââ LICENSE                      # Licence CC BY 4.0
â
âââ 00-introduction/             # Concepts de base
âââ 01-mariadb/                  # 5 fiches MariaDB
âââ 02-postgresql/               # 5 fiches PostgreSQL
âââ 03-mssql/                    # 4 fiches MS SQL Server
âââ 04-sqlite/                   # 3 fiches SQLite
âââ 05-mongodb/                  # 5 fiches MongoDB
âââ 06-redis/                    # 5 fiches Redis
âââ 07-cassandra/                # 4 fiches Cassandra
âââ 08-neo4j/                    # 4 fiches Neo4j
âââ 09-influxdb/                 # 4 fiches InfluxDB
âââ 10-dynamodb/                 # 4 fiches DynamoDB
âââ 11-elasticsearch/            # 4 fiches Elasticsearch
âââ 12-firebird/                 # 5 fiches Firebird
â
âââ annexes/                     # 7 annexes de rĂ©fĂ©rence
â   âââ A-reference-commandes.md
â   âââ B-gestion-reseaux.md
â   âââ C-gestion-volumes.md
â   âââ D-securite-bonnes-pratiques.md
â   âââ E-depannage.md
â   âââ F-outils-gestion.md
â   âââ G-comparaison-bdd.md
â
âââ cas-pratiques/               # 5 stacks complĂštes
    âââ 01-stack-lamp.md         # Apache + MariaDB + PHP
    âââ 02-stack-mean.md         # MongoDB + Express + Node
    âââ 03-stack-elk.md          # Elasticsearch + Logstash + Kibana
    âââ 04-env-dev-complet.md    # Multi-BDD
    âââ 05-migration-donnees.md  # Migration entre BDD
# Tester différentes BDD pour un cours
docker-compose up -d  # MariaDB pour SQL
docker-compose up -d  # MongoDB pour NoSQL
# Suppression propre aprĂšs : docker-compose down -v# Stack complĂšte MEAN
# MongoDB + Express + Angular + Node
# Voir : cas-pratiques/02-stack-mean.md# Créer un environnement de test isolé
# Plusieurs versions de PostgreSQL en parallĂšle
# Sur des ports différents (5432, 5433, 5434...)# Partager les docker-compose.yml via Git
# Toute l'Ă©quipe a le mĂȘme environnement
# Reproductibilité garantie# Migrer des applications legacy vers Docker
# Firebird en conteneur pour dev/test
# Voir : 12-firebird/# Démarrer une BDD
docker-compose up -d
# Voir les logs
docker-compose logs -f
# Se connecter au conteneur
docker exec -it <nom_conteneur> bash
# ArrĂȘter (sans supprimer les donnĂ©es)
docker-compose stop
# Redémarrer
docker-compose start
# Supprimer (ATTENTION : supprime les données)
docker-compose down -v
# Vérifier l'état
docker-compose ps
# Voir les réseaux
docker network ls
# Voir les volumes
docker volume lsđĄ Astuce : Consultez l'Annexe A pour la liste complĂšte !
| Fonctionnalité | MariaDB | PostgreSQL | MongoDB | Redis | Neo4j | Firebird | Autres | 
|---|---|---|---|---|---|---|---|
| â Config basique | â | â | â | â | â | â | â | 
| đ§ Config avancĂ©e | â | â | â | â | â | â | â | 
| đ IP fixe | â | â | â | â | â | â | â | 
| đ„ Gestion users | â | â | â | â | â | â | Selon BDD | 
| đ„ïž Interface GUI | phpMyAdmin | pgAdmin | Mongo Express | Redis Commander | Browser | FlameRobin | Selon BDD | 
| đ RĂ©plication | â | â | â | â | â | â | Selon BDD | 
| đŠ Cluster | â | â | â | â | â | â | Cassandra, Elastic | 
Q : Docker ralentit-il les performances de la BDD ? R : Impact minimal (< 5%) pour le développement. Production : utiliser des BDD natives.
Q : Puis-je utiliser ces configs en production ? R : Non, elles sont optimisées pour le développement. Production = configurations durcies.
Q : Comment sauvegarder mes données ? R : Les volumes Docker persistent les données. Voir Annexe C.
Q : Plusieurs versions de la mĂȘme BDD ? R : Oui ! Utilisez des ports et noms de conteneurs diffĂ©rents.
Q : Comment gérer les mots de passe ?
R : Utilisez des fichiers .env. Voir Annexe D.
Q : ProblÚme de connexion depuis un client ? R : Vérifiez ports, mots de passe, permissions. Voir Annexe E.
Q : Firebird fonctionne-t-il bien dans Docker ? R : Oui ! Parfait pour dev/test. Utilisez le mode embedded pour les applications desktop.
đ« NE JAMAIS utiliser ces configurations en production sans :
- Changer TOUS les mots de passe par défaut
 - Configurer un pare-feu
 - Activer le chiffrement SSL/TLS
 - Restreindre les accÚs réseau
 - Mettre en place des backups
 - Suivre les bonnes pratiques de sécurité
 
đ Consultez l'Annexe D - SĂ©curitĂ© pour les dĂ©tails.
- â 13 bases de donnĂ©es couvertes
 - â Configurations multiples par BDD
 - â 7 annexes de rĂ©fĂ©rence
 - â 5 cas pratiques
 - đ VidĂ©os tutoriels
 - đ Scripts d'automatisation
 - đ Templates de projets
 
Ce projet est sous licence CC BY 4.0 (Creative Commons Attribution 4.0 International).
â Libre d'utiliser, modifier, partager (mĂȘme commercialement) avec attribution.
Attribution :
Bases de Données avec Docker par Nicolas DEOUX
https://github.com/NDXDeveloper/bdd-docker-dev
Licence CC BY 4.0
Nicolas DEOUX
- đ§ NDXDev@gmail.com
 - đ GitHub @NDXDeveloper
 
Merci Ă la communautĂ© Docker, aux mainteneurs des images officielles, et Ă tous les dĂ©veloppeurs qui partagent leurs connaissances ! đ
Ressources complémentaires : Docker Docs ⹠Docker Hub ⹠Awesome Docker
