Comment exécuter MongoDB dans un conteneur Docker ?

Les conteneurs (containers) Docker MongoDB sont faciles à répliquer et à faire évoluer. Si la charge sur la base de données augmente, vous pouvez lancer d’autres conteneurs MongoDB. Ainsi, les performances de votre base de données restent stables.

MongoDB fonctionne-t-il dans un conteneur Docker ?

Oui : MongoDB peut effectivement fonctionner dans un conteneur Docker. Sur Docker Hub, il existe deux types d’images MongoDB : la Community Edition et l’Enterprise Edition. Selon vos besoins, choisissez entre ces deux variantes. La Community Edition est gratuite et open source ; elle est utilisée à des fins non commerciales ou pour de petits déploiements. L’édition Enterprise, en revanche, offre des fonctionnalités et un support supplémentaires adaptés aux applications plus importantes ou aux environnements d’entreprise ayant des besoins avancés, tels que le chiffrement, l’audit et l’intégration LDAP.

Si les images MongoDB prédéfinies sur Docker Hub ne répondent pas entièrement à vos besoins, Docker vous permet de créer votre propre image Docker personnalisée à l’aide d’un Dockerfile. Vous pouvez y choisir la version de MongoDB, définir certaines options de configuration (par exemple les méthodes d’authentification) et installer des outils ou pilotes supplémentaires importants pour votre environnement.

Démarrer MongoDB en tant que conteneur Docker

Docker se caractérise par une virtualisation légère qui favorise la portabilité et la cohérence dans différents environnements de développement et de production. Dans les paragraphes qui suivent, nous expliquons étape par étape comment configurer les conteneurs MongoDB dans Docker. Pour les débutants, nous recommandons notre tutoriel Docker : nous y donnons une introduction détaillée à la plateforme de conteneurs.

Étape 1 : télécharger l’image Docker MongoDB

Pour créer un conteneur Docker MongoDB, nous commençons tout d’abord par obtenir l’image correspondante pour l’exécution de Docker Hub. Ouvrez votre terminal ou votre ligne de commande et exécutez la commande suivante :

docker pull mongo:latest
bash

Si l’image existe déjà en local, Docker ne téléchargera pas de nouvelle version, sauf si vous indiquez explicitement la version que vous souhaitez utiliser (par exemple mongo:4.4).

Étape 2 : démarrer le conteneur Docker MongoDB

Après avoir téléchargé avec succès l’image Docker pour MongoDB, vous pouvez maintenant démarrer un conteneur basé sur cette image :

docker run --name mongodb-container -d -p 27017:27017 mongo:latest
bash
  • docker run : démarre un nouveau conteneur Docker
  • --name mongodb-container : donne au conteneur Docker le nom « mongodb-container »
  • -d : permet de démarrer le conteneur en arrière-plan (mode détaché). Ainsi, le terminal reste utilisable pendant l’exécution du conteneur.
  • -p 27017:27017 : ouvre le port MongoDB standard (27017) du conteneur sur votre système hôte.
  • mongo:latest : transmet l’instruction d’obtenir la dernière image disponible.

Étape 3 : vérifier que le conteneur est en cours d’exécution

Pour vous assurer que le conteneur a bien démarré, entrez la commande suivante :

docker ps
bash

Les informations obtenues sont utiles pour obtenir un aperçu rapide des conteneurs Docker MongoDB actifs sur votre système, de leur durée d’exécution et des ports qu’ils utilisent. Si vous avez besoin de plus de détails, comme les conteneurs arrêtés ou des options de filtrage spécifiques, il est recommandé d’utiliser la commande docker ps -a.

Étape 4 : se connecter à MongoDB dans le conteneur Docker

Vous pouvez maintenant vous connecter à l’instance MongoDB dans votre conteneur Docker. Pour cela, lancez le MongoDB Shell directement dans le conteneur :

docker exec -it mongodb-container mongo
bash
  • docker exec : exécute une commande dans le conteneur en cours d’exécution
  • -it : permet d’interagir avec le terminal dans le conteneur
  • mongodb-container : désigne le nom du conteneur MongoDB mis en place
  • mongo : démarre le Shell MongoDB

Après avoir exécuté cette commande, vous devriez voir le Shell MongoDB prêt à recevoir des commandes. Vous pouvez maintenant entrer les commandes MongoDB habituelles pour gérer ou interroger votre base de données.

Étape 5 : exécuter des opérations dans le Shell MongoDB

Vous pouvez afficher toutes les bases de données existantes :

show databases
bash

La sortie contient les noms des bases de données :

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Pour travailler avec une base de données spécifique dans le Shell MongoDB, utilisez la commande suivante :

use mydatabase
bash

Avec cette commande, vous passez à la base de données avec le nom « mydatabase ». Si cette base de données n’existe pas, elle est créée automatiquement dès qu’un document est inséré.

Vous pouvez également consulter les documents d’une collection spécifique :

db.users.find()
bash

Le Shell MongoDB renvoie tous les documents stockés dans la collection « Users ».

{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "martin", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charles", "age": 25 }
bson

Chaque document contient un champ _id unique (identifiant spécifique à MongoDB) et d’autres champs tels que username et age.

Vous trouverez de plus amples informations sur les outils Docker ainsi qu’une présentation de MongoDB avec une comparaison avec MySQL dans notre Digital Guide.

Bases de données managées
Des bases de données gérées et sûres
  • Solutions flexibles, adaptées à vos besoins
  • Architecture de niveau professionnel, gérée par des experts
  • Hébergées en Europe, conformément aux normes de protection des données les plus strictes
Cet article vous a-t-il été utile ?
Page top