Installatie gids MongoDB - SebastiaanPr/IT-Landscape GitHub Wiki

Inleiding

Hier vind je de installatie intructie van MongoDB en Mongosh. De installatie gaat gebeuren via een dockerCompose file met 2 services namelijk de setup van de MonogoDB en dan de setup van de MongoDB shell of Mongosh.

Stap 1

De eerste stap is het maken van de MongoDB service die ziet er als volgend uit:

image

De Docker-Compose begint met version dit is de versie van Docker dat gebruikt wordt.

Daarna komt het sleutelwoord service om te laten weten dat het gaat gaan over services.

dan zie je de naam van de service namelijk "mongodb", gevolgd door de image in dit geval de laatste versie van mongoDB. dan heb je de container_name. dit geeft een naam aan de container voor gemakzucht. Ports gaat een poort reserveren voor de database namelijk de poort 271017 dit is de officiële poort gebruikt door MongoDB. ten sloten heb je dan nog de environment hier word een naam en wachtwoord meegeven om te conecteren met de database. (Ter informatie voor voorbeeld doeleinde is het wachtwoord zichtbaar als je dit in praktijk wilt gebruiken zet je wachtwoord in een .env file)

als je deze service dan uitvoert met de bash "docker-compose up -d" word een container gemaakt en is de database actief.

Stap 2

Om gebruik te kunnen maken van de MongoDB heb je een externe tool nodig voor het uitvoeren van handelingen. Ik heb hier gekozen voor Mongosh oftewel de MongoDB shell. De service voor mongosh ziet er als volgend uit.

image

Wat staat er nu in zoals bij de vorige service zie je de naam van de service en dan welke image het moet gebruiken in dit geval Mongosh:latest. De container_name zijnde mongosh.

Vervolgens word er depends_on gebruikt dit wilt zeggen dat docker eerst de mongodb container start en dan vervolgens de mongosh container start. De entrypoint gaat er voor zorgen dat de container actief blijft zodat je hem manueel kan gebruiken.

stdin_open en tty worden op true gezet zodat de service interactief word. Voor het gebruik van commando's, etc.

Stap 3

Nu dat je beide services hebt moet je enkel nog je ervoor zorgen dat je de MongoDB shell gebruikt dit kan je doen door in je opdrachten promt het volgende in te geven "docker exec -it mongosh mongosh -u sebastiaan -p LEGOCity --authenticationDatabase admin mongodb:27017". wat doet het precies?

Docker exec zorgt ervoor dat het commando word uitgevoerd in een container. -IT zorgt ervoor dat de shell interactief gebruikt kan worden. mongosh is de naam van de container waar het commando in word uitgevoerd. -u is de naam van de gebruiker en -p het wachtwoord --authenticationDatabase gaat de rol van de gebruiker meegeven. mongodb:27017 gaat zeggen waar hij de database moet aanspreken.

image

Bronnen

How to run mongoDB with Docker and docker-compose