MongoDB Docker-containers zijn eenvoudig te repliceren en te schalen. Als de belasting op de database toeneemt, kunt u extra MongoDB-containers starten. Hierdoor blijven de prestaties van de database stabiel.

Draait MongoDB in een Docker-container?

MongoDB kan effectief worden uitgevoerd in een Docker-container. Er zijn twee soorten MongoDB-images op Docker Hub: de Community Edition en de Enterprise Edition. De keuze tussen deze twee versies hangt af van uw specifieke behoeften. De Community Edition is meestal ideaal voor niet-commercieel gebruik of kleinere opstellingen. De Enterprise Edition bevat echter extra functies en ondersteuning voor grotere toepassingen of bedrijven met geavanceerde behoeften, zoals versleuteling, auditing en LDAP-integratie.

Als de vooraf gebouwde MongoDB-images op Docker Hub niet volledig aan uw behoeften voldoen, kunt u met Docker een aangepaste Docker-image maken met behulp van een Dockerfile. Met een Dockerfile kunt u de MongoDB-versie selecteren, specifieke opties configureren (zoals authenticatiemethoden) en eventuele aanvullende tools of stuurprogramma’s installeren die nodig zijn voor uw omgeving.

Hoe u MongoDB stap voor stap als Docker-container kunt gebruiken

Docker staat bekend om zijn lichtgewicht virtualisatie, waardoor portabiliteit en consistentie in verschillende ontwikkelings- en productieomgevingen mogelijk is. Hieronder leggen we stap voor stap uit hoe u MongoDB-containers in Docker kunt instellen. Voor beginners raden we aan onze Docker-tutorial te bekijken : Installatie en eerste stappen, die een gedetailleerde introductie tot het containerplatform biedt.

Stap 1: Download de MongoDB Docker-image

Om een MongoDB Docker-container te maken, moeten we eerst de juiste image voor het uitvoeren van Docker Hub verkrijgen. Open uw terminal of opdrachtregel en voer de volgende opdracht uit:

docker pull mongo:latest
bash

Als de afbeelding al lokaal aanwezig is, zal Docker geen nieuwe versie downloaden, tenzij u specifiek aangeeft welke versie u wilt gebruiken (bijvoorbeeld mongo:4.4).

Stap 2: Start de MongoDB Docker-container

Zodra de Docker-image voor MongoDB succesvol is gedownload, kunt u een container starten op basis van deze image:

  • docker run: Start een nieuwe Docker-container
  • --name mongodb-container: Geeft de container de naam ‘mongodb-container’
  • -d: Gebruik deze parameter om de container op de achtergrond te starten (detached mode). Dit betekent dat de terminal nog steeds kan worden gebruikt terwijl de container draait
  • -p 27017:27017: Opent de standaardpoort 27017 van MongoDB van de container op uw hostsysteem
  • mongo:latest: Geeft de instructie om de nieuwste beschikbare image op te halen

Stap 3: Controleer of de container werkt

Om te controleren of de container succesvol is gestart, voert u de volgende opdracht in:

docker ps
bash

Deze informatie biedt een snel overzicht van de actieve MongoDB Docker-containers op uw systeem, inclusief hoe lang ze al actief zijn en welke poorten ze gebruiken. Voor meer details, zoals gestopte containers of specifieke filteropties, wordt aanbevolen om het docker ps -a te gebruiken.

Stap 4: Maak een verbinding met MongoDB in de Docker-container

Nu kunt u een verbinding tot stand brengen met de MongoDB-instantie in uw Docker-container. Start hiervoor de MongoDB Shell rechtstreeks in de container:

  • docker exec: Voert een commando uit in de actieve container
  • -it: Maakt interactie met de terminal in de container mogelijk
  • mongodb-container: De naam van de ingestelde MongoDB-container
  • mongo: Start de MongoDB-shell

Nadat u deze opdracht hebt uitgevoerd, zou u de MongoDB-shell moeten zien die klaar is om opdrachten te ontvangen. U kunt nu de gebruikelijke MongoDB-opdrachten invoeren om uw database te beheren of te doorzoeken.

Stap 5: Voer bewerkingen uit in de MongoDB-shell

U kunt nu alle bestaande databases op de MongoDB-server als volgt weergeven:

show databases
bash

De uitvoer bevat de namen van de databases:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Om met een specifieke database in de MongoDB-shell te werken, gebruikt u de volgende opdracht:

use mydatabase
bash

Gebruik de volgende opdracht om over te schakelen naar de database met de naam ‘mydatabase’. Als de database niet bestaat, wordt deze automatisch aangemaakt wanneer een document wordt ingevoegd.

U kunt ook documenten uit een specifieke collectie ophalen:

db.users.find()
bash

De MongoDB-shell retourneert alle documenten die zijn opgeslagen in de collectie ‘gebruikers’.

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

Elk document bevat een uniek _id (MongoDB-specifieke identificatiecode) en andere velden, zoals username en age.

Meer informatie over Docker-tools en een presentatie over MongoDB, inclusief een vergelijking met MySQL, vindt u in onze gids.

Ga naar hoofdmenu