Aller au contenu
Runbook

Installer MongoDB sur Docker

Base de données NoSQL orientée documents (BSON), conçue pour la scalabilité horizontale et les schémas flexibles.

Base de donnéesnosqldocumentbase de donnéesbson

Installation

Conteneur (avec volume) · Docker
docker run -d --name mongodb -p 127.0.0.1:27017:27017 -v mongodb_data:/data/db mongo:8

Le volume nommé mongodb_data garantit la persistance des données entre redémarrages. Tant que l'authentification n'est pas activée, publiez le port uniquement sur la boucle locale (127.0.0.1) pour ne pas exposer MongoDB sur toutes les interfaces.

Avec authentification · Docker
docker run -d --name mongodb -p 27017:27017 -v mongodb_data:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=secret mongo:8

Choisissez un mot de passe fort. Passer MONGO_INITDB_ROOT_PASSWORD en clair l'expose via docker inspect, docker ps et l'historique du shell : préférez --env-file, les secrets Docker, ou la variante MONGO_INITDB_ROOT_PASSWORD_FILE qui lit le mot de passe depuis un fichier monté.

Vérifier l'installation

Vérifier
docker exec mongodb mongosh --eval "db.runCommand({ ping: 1 })"

Service

Démarrer
docker start mongodb
Arrêter
docker stop mongodb
Statut
docker ps --filter name=mongodb
Redémarrer
docker restart mongodb

Fichiers importants

TypeCheminDescription
data/data/dbRépertoire de données dans le conteneur (à monter sur un volume).
config/etc/mongod.conf.origConfiguration par défaut copiée dans l'image, mais NON lue au démarrage : mongod est lancé via CMD ['mongod'] sans --config. Pour appliquer une config, montez votre propre fichier ET surchargez la commande (command: ['mongod','--config','/etc/mongod.conf']).

Ports par défaut

27017

Outils en ligne de commande

  • docker exec -it mongodb mongoshOuvre le shell mongosh dans le conteneur.

Désinstaller

Supprimer (conteneur + données)
docker rm -f mongodb
docker volume rm mongodb_data

Supprimer le volume efface définitivement les données.

À savoir

  • Sans volume, les données sont perdues à la suppression du conteneur.
  • L'image officielle est mongo (Docker Hub) ; épinglez une version majeure (mongo:8) en production.

MongoDB avec Docker

L'image officielle mongo démarre un serveur prêt à l'emploi. Montez un volume nommé sur /data/db pour conserver vos données. Exposez le port 27017 pour y accéder depuis l'hôte.

Pour un déploiement, définissez un utilisateur root via MONGO_INITDB_ROOT_USERNAME / MONGO_INITDB_ROOT_PASSWORD et épinglez une version d'image précise.