MongoDB Docker-con­tai­ners zijn eenvoudig te re­pli­ce­ren en te schalen. Als de belasting op de database toeneemt, kunt u extra MongoDB-con­tai­ners starten. Hierdoor blijven de pres­ta­ties van de database stabiel.

Draait MongoDB in een Docker-container?

MongoDB kan effectief worden uit­ge­voerd in een Docker-container. Er zijn twee soorten MongoDB-images op Docker Hub: de Community Edition en de En­ter­pri­se Edition. De keuze tussen deze twee versies hangt af van uw spe­ci­fie­ke behoeften. De Community Edition is meestal ideaal voor niet-com­mer­ci­eel gebruik of kleinere op­stel­lin­gen. De En­ter­pri­se Edition bevat echter extra functies en on­der­steu­ning voor grotere toe­pas­sin­gen of bedrijven met ge­a­van­ceer­de behoeften, zoals ver­sleu­te­ling, auditing en LDAP-in­te­gra­tie.

Als de vooraf gebouwde MongoDB-images op Docker Hub niet volledig aan uw behoeften voldoen, kunt u met Docker een aan­ge­pas­te Docker-image maken met behulp van een Doc­ker­fi­le. Met een Doc­ker­fi­le kunt u de MongoDB-versie se­lec­te­ren, spe­ci­fie­ke opties con­fi­gu­re­ren (zoals au­then­ti­ca­tie­me­tho­den) en eventuele aan­vul­len­de tools of stuur­pro­gram­ma’s in­stal­le­ren die nodig zijn voor uw omgeving.

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

Docker staat bekend om zijn licht­ge­wicht vir­tu­a­li­sa­tie, waardoor por­ta­bi­li­teit en con­sis­ten­tie in ver­schil­len­de ont­wik­ke­lings- en pro­duc­tie­om­ge­vin­gen mogelijk is. Hieronder leggen we stap voor stap uit hoe u MongoDB-con­tai­ners in Docker kunt instellen. Voor beginners raden we aan onze Docker-tutorial te bekijken : In­stal­la­tie en eerste stappen, die een ge­de­tail­leer­de in­tro­duc­tie tot het con­tai­ner­plat­form 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 ver­krij­gen. Open uw terminal of op­dracht­re­gel en voer de volgende opdracht uit:

docker pull mongo:latest
bash

Als de af­beel­ding al lokaal aanwezig is, zal Docker geen nieuwe versie down­lo­a­den, tenzij u specifiek aangeeft welke versie u wilt gebruiken (bij­voor­beeld mongo:4.4).

Stap 2: Start de MongoDB Docker-container

Zodra de Docker-image voor MongoDB succesvol is ge­down­load, 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 ach­ter­grond te starten (detached mode). Dit betekent dat de terminal nog steeds kan worden gebruikt terwijl de container draait
  • -p 27017:27017: Opent de stan­daard­poort 27017 van MongoDB van de container op uw host­sys­teem
  • mongo:latest: Geeft de in­struc­tie om de nieuwste be­schik­ba­re image op te halen

Stap 3: Con­tro­leer of de container werkt

Om te con­tro­le­ren of de container succesvol is gestart, voert u de volgende opdracht in:

docker ps
bash

Deze in­for­ma­tie biedt een snel overzicht van de actieve MongoDB Docker-con­tai­ners op uw systeem, inclusief hoe lang ze al actief zijn en welke poorten ze gebruiken. Voor meer details, zoals gestopte con­tai­ners of spe­ci­fie­ke fil­ter­op­ties, wordt aan­be­vo­len om het docker ps -a te gebruiken.

Stap 4: Maak een ver­bin­ding met MongoDB in de Docker-container

Nu kunt u een ver­bin­ding tot stand brengen met de MongoDB-instantie in uw Docker-container. Start hiervoor de MongoDB Shell recht­streeks in de container:

  • docker exec: Voert een commando uit in de actieve container
  • -it: Maakt in­ter­ac­tie met de terminal in de container mogelijk
  • mongodb-container: De naam van de in­ge­stel­de MongoDB-container
  • mongo: Start de MongoDB-shell

Nadat u deze opdracht hebt uit­ge­voerd, zou u de MongoDB-shell moeten zien die klaar is om op­drach­ten te ontvangen. U kunt nu de ge­brui­ke­lij­ke MongoDB-op­drach­ten invoeren om uw database te beheren of te door­zoe­ken.

Stap 5: Voer be­wer­kin­gen 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 spe­ci­fie­ke 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 ‘my­da­ta­ba­se’. Als de database niet bestaat, wordt deze au­to­ma­tisch aan­ge­maakt wanneer een document wordt ingevoegd.

U kunt ook do­cu­men­ten uit een spe­ci­fie­ke collectie ophalen:

db.users.find()
bash

De MongoDB-shell re­tour­neert alle do­cu­men­ten die zijn op­ge­sla­gen in de collectie ‘ge­brui­kers’.

{ "_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-spe­ci­fie­ke iden­ti­fi­ca­tie­co­de) en andere velden, zoals username en age.

Meer in­for­ma­tie over Docker-tools en een pre­sen­ta­tie over MongoDB, inclusief een ver­ge­lij­king met MySQL, vindt u in onze gids.

Ga naar hoofdmenu