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é.
Autres articles intéressants
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