Les con­te­neurs (con­tai­ners) Docker MongoDB sont faciles à répliquer et à faire évoluer. Si la charge sur la base de données augmente, vous pouvez lancer d’autres con­te­neurs MongoDB. Ainsi, les per­for­mances de votre base de données restent stables.

MongoDB fonc­tionne-t-il dans un conteneur Docker ?

Oui : MongoDB peut ef­fec­ti­ve­ment fonc­tion­ner dans un conteneur Docker. Sur Docker Hub, il existe deux types d’images MongoDB : la Community Edition et l’En­ter­prise Edition. Selon vos besoins, choi­sis­sez entre ces deux variantes. La Community Edition est gratuite et open source ; elle est utilisée à des fins non com­mer­ciales ou pour de petits dé­ploie­ments. L’édition En­ter­prise, en revanche, offre des fonc­tion­na­li­tés et un support sup­plé­men­taires adaptés aux ap­pli­ca­tions plus im­por­tantes ou aux en­vi­ron­ne­ments d’en­tre­prise ayant des besoins avancés, tels que le chif­fre­ment, l’audit et l’in­té­gra­tion LDAP.

Si les images MongoDB pré­dé­fi­nies sur Docker Hub ne répondent pas en­tiè­re­ment à vos besoins, Docker vous permet de créer votre propre image Docker per­son­na­li­sée à l’aide d’un Do­cker­file. Vous pouvez y choisir la version de MongoDB, définir certaines options de con­fi­gu­ra­tion (par exemple les méthodes d’au­then­ti­fi­ca­tion) et installer des outils ou pilotes sup­plé­men­taires im­por­tants pour votre en­vi­ron­ne­ment.

Démarrer MongoDB en tant que conteneur Docker

Docker se ca­rac­té­rise par une vir­tua­li­sa­tion légère qui favorise la por­ta­bi­lité et la cohérence dans dif­fé­rents en­vi­ron­ne­ments de dé­ve­lop­pe­ment et de pro­duc­tion. Dans les pa­ra­graphes qui suivent, nous ex­pli­quons étape par étape comment con­fi­gu­rer les con­te­neurs MongoDB dans Docker. Pour les débutants, nous re­com­man­dons notre tutoriel Docker : nous y donnons une in­tro­duc­tion détaillée à la pla­te­forme de con­te­neurs.

Étape 1 : té­lé­char­ger l’image Docker MongoDB

Pour créer un conteneur Docker MongoDB, nous com­men­çons tout d’abord par obtenir l’image cor­res­pon­dante 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é­char­gera pas de nouvelle version, sauf si vous indiquez ex­pli­ci­te­ment 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 main­te­nant 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 uti­li­sable 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’ins­truc­tion d’obtenir la dernière image dis­po­nible.

É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 in­for­ma­tions obtenues sont utiles pour obtenir un aperçu rapide des con­te­neurs 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 con­te­neurs arrêtés ou des options de filtrage spé­ci­fiques, il est re­com­mandé d’utiliser la commande docker ps -a.

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

Vous pouvez main­te­nant vous connecter à l’instance MongoDB dans votre conteneur Docker. Pour cela, lancez le MongoDB Shell di­rec­te­ment 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 main­te­nant entrer les commandes MongoDB ha­bi­tuelles pour gérer ou in­ter­ro­ger votre base de données.

Étape 5 : exécuter des opé­ra­tions dans le Shell MongoDB

Vous pouvez afficher toutes les bases de données exis­tantes :

show databases
bash

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

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Pour tra­vail­ler avec une base de données spé­ci­fique dans le Shell MongoDB, utilisez la commande suivante :

use mydatabase
bash

Avec cette commande, vous passez à la base de données avec le nom « my­da­ta­base ». Si cette base de données n’existe pas, elle est créée au­to­ma­ti­que­ment dès qu’un document est inséré.

Vous pouvez également consulter les documents d’une col­lec­tion spé­ci­fique :

db.users.find()
bash

Le Shell MongoDB renvoie tous les documents stockés dans la col­lec­tion « 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 (iden­ti­fiant spé­ci­fique à MongoDB) et d’autres champs tels que username et age.

Vous trouverez de plus amples in­for­ma­tions sur les outils Docker ainsi qu’une pré­sen­ta­tion de MongoDB avec une com­pa­rai­son avec MySQL dans notre Digital Guide.

Aller au menu principal