MongoDB est l’une des bases de données NoSQL les plus populaires au monde, offrant flexibilité, performance et grande évolutivité. MongoDB peut stocker et gérer des données structurées et non structurées, telles que des documents, des graphiques, des médias, etc. MongoDB prend également en charge des fonctionnalités avancées, telles que l’indexation, l’agrégation, la réplication, le partage et les transactions.
Docker est une plateforme logicielle qui permet de créer, d’exécuter et de distribuer des applications à l’aide de conteneurs. Un conteneur est une unité logicielle isolée de l’environnement, qui contient tout ce dont une application a besoin pour fonctionner, comme le code, les bibliothèques, les dépendances et les configurations. Avec Docker, vous pouvez vous assurer que vos applications peuvent fonctionner sans problème n’importe où, sans vous soucier de la compatibilité ou des dépendances.
L’installation de MongoDB avec Docker est un moyen simple et rapide de créer une base de données MongoDB sur votre ordinateur. Vous n’avez pas besoin de télécharger ou d’installer manuellement MongoDB, car Docker se charge de tous les processus pour vous. Vous pouvez également tirer parti des fonctionnalités de Docker telles que le volume, la mise en réseau et la composition pour mieux gérer votre base de données MongoDB.
Dans cet article, Bardimin expliquera étape par étape comment installer MongoDB avec Docker sur Windows. Je fournirai également quelques conseils et astuces pour optimiser l’utilisation de MongoDB avec Docker.
Autres articles intéressants
Exigence
Avant d’installer MongoDB avec Docker, vous devez remplir les conditions suivantes :
- Docker doit être installé sur votre ordinateur. Si vous n’avez pas encore Docker, vous pouvez le télécharger et l’installer depuis le site officiel de Docker.
- Vous devez disposer d’une connexion internet stable pour télécharger les images MongoDB depuis Docker Hub.
- Vous devez disposer de suffisamment d’espace disque pour stocker les images et les données de MongoDB.
Installer MongoDB avec Docker sur Windows
Pour installer MongoDB avec Docker sur Windows, procédez comme suit :
- Ouvrez PowerShell ou l’Invite de commande en tant qu’administrateur.
- Exécutez la commande suivante pour créer un nouveau répertoire sur le lecteur C : qui sera utilisé comme volume pour stocker les données MongoDB :
mkdir C:\data\db
- Exécutez la commande suivante pour lancer un conteneur MongoDB nommé mongo en utilisant une image mongo de Docker Hub:.
docker run --name mongo -v C:\data\db:/data/db -d mongo
Cette commande fera l’affaire :
- –name mongo attribue le nom Mongo au conteneur.
- -v C:\Ndata\Ndb:/data/db lie le répertoire C:\Ndata\Ndb sur l’hôte au répertoire /data/db sur le conteneur en tant que volume. Ce volume sera utilisé par MongoDB pour stocker les données.
- -d exécute le conteneur en arrière-plan (mode détaché).
- Mongo spécifie l’image utilisée pour créer le conteneur.
- Attendez quelques instants que le conteneur ait fini de se créer et de fonctionner. Vous pouvez vérifier l’état du conteneur en exécutant la commande suivante :
docker ps
Cette commande affichera une liste des conteneurs en cours d’exécution sur votre machine. Vous devriez voir une sortie comme celle-ci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5f0b9c8a9f0a mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 27017/tcp mongo
Cette sortie montre que le conteneur Mongo fonctionne avec une image mongo et le port 27017 (le port par défaut de MongoDB).
- Félicitations, vous avez réussi à installer MongoDB avec Docker sur Windows ! Vous pouvez maintenant vous connecter à votre base de données MongoDB en utilisant les outils que vous aimez, tels que MongoDB Shell, MongoDB Compass, ou les pilotes MongoDB pour votre langage de programmation préféré.
Installer MongoDB avec Docker sur Linux
Pour installer MongoDB avec Docker sur Linux, procédez comme suit :
- Ouvrez un terminal et connectez-vous en tant que root ou utilisateur disposant des droits sudo.
- Exécutez la commande suivante pour créer un nouveau répertoire dans /data/db qui sera utilisé comme volume pour stocker les données MongoDB :
sudo mkdir -p /data/db
- Exécutez la commande suivante pour lancer un conteneur MongoDB nommé mongo en utilisant une image mongo de Docker Hub:.
sudo docker run --name mongo -v /data/db:/data/db -d mongo
Cette commande effectue les mêmes opérations que celles décrites dans la section précédente pour Windows.
- Attendez quelques instants que le conteneur ait fini de se créer et de fonctionner. Vous pouvez vérifier l’état du conteneur en exécutant la commande suivante :
sudo docker ps
Cette commande affichera une liste des conteneurs en cours d’exécution sur votre machine. Vous devriez voir une sortie comme celle-ci :
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5f0b9c8a9f0a mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 27017/tcp mongo
Cette sortie indique que le conteneur Mongo s’exécute avec une image mongo et le port 27017 (port par défaut de MongoDB).
- Félicitations, vous avez réussi à installer MongoDB avec Docker sur Linux ! Vous pouvez maintenant vous connecter à votre base de données MongoDB en utilisant les outils que vous aimez, tels que MongoDB Shell, MongoDB Compass, ou les pilotes MongoDB pour votre langage de programmation préféré.
Conseils et astuces
Voici quelques conseils et astuces qui peuvent vous aider à optimiser votre utilisation de MongoDB avec Docker :
- Si vous souhaitez arrêter le conteneur MongoDB, vous pouvez exécuter la commande suivante :
docker stop mongo
- Si vous souhaitez supprimer un conteneur MongoDB, vous pouvez exécuter la commande suivante :
docker rm mongo
- Si vous souhaitez supprimer une image MongoDB, vous pouvez exécuter la commande suivante :
docker rmi mongo
- Si vous souhaitez spécifier la version spécifique de MongoDB que vous voulez utiliser, vous pouvez ajouter une balise de version après le nom de l’image. Par exemple, si vous souhaitez utiliser la version 5.0 de MongoDB, vous pouvez exécuter la commande suivante :
docker run --name mongo -v /data/db:/data/db -d mongo:5.0
- Si vous souhaitez exposer le port du conteneur à un port hôte différent, utilisez l’option p. Par exemple, si vous souhaitez exposer le port 27017 d’un conteneur au port 3000 de l’hôte, vous pouvez exécuter la commande suivante :
docker run --name mongo -v /data/db:/data/db -p 30000:27017 -d mongo
- Si vous souhaitez exécuter plusieurs instances de MongoDB sur la même machine, vous devez fournir des noms différents pour chaque conteneur et exposer des ports différents pour chaque conteneur. Par exemple, si vous souhaitez exécuter deux instances MongoDB nommées mongo1 et mongo2, et exposer les ports 27017 et 27018 de l’hôte, respectivement, vous pouvez exécuter les commandes suivantes:.
docker run --name mongo1 -v /data/db1:/data/db -p 27017:27017 -d mongo docker run --name mongo2 -v /data/db2:/data/db -p 27018:27017 -d mongo
- Si vous souhaitez utiliser Docker Compose pour gérer vos conteneurs MongoDB plus facilement, vous pouvez créer un fichier docker-compose.yml avec un contenu comme celui-ci :
``` version: "3" services: mongo: image: mongo volumes: - /data/db:/data/db ports: - 27017:27017 ```
- Si vous souhaitez connecter MongoDB à d’autres applications exécutées dans des conteneurs Docker, vous pouvez utiliser le réseau interne de Docker pour permettre la communication entre les conteneurs. Par exemple, si vous souhaitez connecter MongoDB à une application Node.js s’exécutant dans un conteneur d’application, vous pouvez créer un fichier docker-compose.yml avec un contenu comme celui-ci :
version: "3" services: mongo: image: mongo volumes: - /data/db:/data/db networks: - app-network app: image: node volumes: - /app:/app ports: - 3000:3000 networks: - app-network networks: app-network:
- Si vous souhaitez configurer MongoDB de manière plus détaillée, utilisez un fichier de configuration personnalisé contenant les options souhaitées. Par exemple, si vous souhaitez activer l’authentification et le cryptage pour MongoDB, vous pouvez créer un fichier mongod.conf avec un contenu comme celui-ci :
systemLog: destination: file path: "/var/log/mongodb/mongod.log" logAppend: true storage: dbPath: "/data/db" journal: enabled: true net: port: 27017 bindIp: 0.0.0.0 tls: mode: requireTLS certificateKeyFile: "/etc/ssl/mongodb.pem" security: authorization: enabled
- Si vous souhaitez utiliser ce fichier de configuration, vous devez le copier dans un répertoire auquel le conteneur MongoDB peut accéder et fournir le chemin de ce fichier comme argument lors de l’exécution du conteneur. Par exemple, si vous copiez le fichier mongod.conf dans le répertoire /etc/mongo sur l’hôte, vous pouvez exécuter la commande suivante :
docker run --name mongo -v /etc/mongo:/etc/mongo -v /data/db:/data/db -d mongo --config /etc/mongo/mongod.conf
Conclusion
En utilisant Docker, vous pouvez créer une base de données MongoDB facilement et rapidement, sans vous soucier de la compatibilité ou des dépendances. Vous pouvez également tirer parti des fonctionnalités de Docker, telles que le volume, la mise en réseau et la composition, pour mieux gérer votre base de données MongoDB.
J’espère que cet article a été utile pour ceux d’entre vous qui veulent savoir comment installer MongoDB avec Docker. Merci d’avoir lu cet article !