Skip to content

🐳 Guide pour dĂ©ployer rapidement vos bases de donnĂ©es de dĂ©veloppement avec Docker - 12 BDD (SQL & NoSQL), 48 fiches pratiques, configurations prĂȘtes Ă  l'emploi

License

Notifications You must be signed in to change notification settings

NDXDeveloper/bdd-docker-dev

Repository files navigation

🐳 Bases de DonnĂ©es avec Docker pour DĂ©veloppeurs

License Docker Databases Language

Guide pour déployer et configurer rapidement vos bases de données de développement avec Docker.

Docker Logo


📖 Table des matiùres


📋 À propos

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


đŸ—„ïž Bases de donnĂ©es couvertes

SQL (Relationnelles)

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

NoSQL

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 !


🚀 Installation rapide

Prérequis

# 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 :

Exemple : Démarrer PostgreSQL en 30 secondes

# 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 : localhost ou 127.0.0.1
  • Port : 5432
  • Utilisateur : postgres
  • Mot de passe : dev_password

🎯 Utilisation

Consultation du guide complet

📚 SOMMAIRE.md - Table des matiĂšres dĂ©taillĂ©e

Démarrage selon votre besoin

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

Workflow recommandé

# 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 -d

📁 Structure du projet

bdd-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

💡 Cas d'usage typiques

🎓 Étudiant / Apprenant

# 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

đŸ‘šâ€đŸ’» DĂ©veloppeur Full-Stack

# Stack complĂšte MEAN
# MongoDB + Express + Angular + Node
# Voir : cas-pratiques/02-stack-mean.md

đŸ§Ș Tests d'Application

# Créer un environnement de test isolé
# Plusieurs versions de PostgreSQL en parallĂšle
# Sur des ports différents (5432, 5433, 5434...)

🏱 Équipe de Dev

# Partager les docker-compose.yml via Git
# Toute l'Ă©quipe a le mĂȘme environnement
# Reproductibilité garantie

đŸ”„ DĂ©veloppeur Delphi/Pascal

# Migrer des applications legacy vers Docker
# Firebird en conteneur pour dev/test
# Voir : 12-firebird/

⚡ Commandes essentielles

# 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Ă©s par BDD

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

❓ FAQ rapide

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.


đŸ›Ąïž SĂ©curitĂ©

⚠ IMPORTANT - Ce guide est pour le DÉVELOPPEMENT uniquement

đŸš« 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.


đŸ—ș Roadmap

  • ✅ 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

📝 Licence

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

đŸ‘šâ€đŸ’» Contact

Nicolas DEOUX


🙏 Remerciements

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


🐳 Bon dĂ©veloppement avec Docker ! 🚀

Star on GitHub Follow

⬆ Retour en haut

DerniĂšre mise Ă  jour : Novembre 2025

About

🐳 Guide pour dĂ©ployer rapidement vos bases de donnĂ©es de dĂ©veloppement avec Docker - 12 BDD (SQL & NoSQL), 48 fiches pratiques, configurations prĂȘtes Ă  l'emploi

Topics

Resources

License

Stars

Watchers

Forks