MongoDB-Docker-containere er enkle å replikere og skalere. Hvis belastningen på databasen øker, kan du starte flere MongoDB-containere. Dette sikrer at databasens ytelse forblir stabil.

Kan MongoDB kjøres i en Docker-container?

MongoDB kan kjøre effektivt i en Docker-container. Det finnes to typer MongoDB-bilder på Docker Hub: Community Edition og Enterprise Edition. Valget mellom disse to versjonene avhenger av dine spesifikke behov. Community Edition er vanligvis ideell for ikke-kommersiell bruk eller mindre oppsett. Enterprise Edition inkluderer derimot ekstra funksjoner og støtte for større applikasjoner eller bedrifter med avanserte behov, som kryptering, revisjon og LDAP-integrasjon.

Hvis de forhåndsbygde MongoDB-bildene på Docker Hub ikke dekker alle dine behov, gir Docker deg muligheten til å lage et tilpasset Docker-bilde ved hjelp av en Dockerfile. Med en Dockerfile kan du velge MongoDB-versjon, konfigurere bestemte innstillinger (som autentiseringsmetoder) og installere eventuelle tilleggsverktøy eller drivere som kreves for ditt miljø.

Trinnvis veiledning i hvordan du bruker MongoDB som en Docker-container

Docker er kjent for sin lette virtualisering, som sikrer portabilitet og konsistens på tvers av ulike utviklings- og produksjonsmiljøer. Nedenfor vil vi veilede deg trinn for trinn gjennom hvordan du konfigurerer MongoDB-containere i Docker. For nybegynnere anbefaler vi å ta en titt på vår Docker-veiledning: Installasjon og første skritt, som gir en detaljert innføring i containerplattformen.

Trinn 1: Last ned MongoDB-Docker-bildet

For å opprette en MongoDB-Docker-container må vi først hente det aktuelle bildet fra Docker Hub. Åpne terminalen eller kommandolinjen og kjør følgende kommando:

docker pull mongo:latest
bash

Hvis bildet allerede finnes lokalt, vil Docker ikke laste ned en ny versjon med mindre du uttrykkelig angir hvilken versjon du ønsker å bruke (for eksempel mongo:4.4).

Trinn 2: Start MongoDB-Docker-containeren

Når Docker-bildet for MongoDB er lastet ned, kan du starte en container basert på dette bildet:

  • docker run: Starter en ny Docker-container
  • --name mongodb-container: Gir containeren navnet «mongodb-container»
  • -d: Bruk denne parameteren for å starte containeren i bakgrunnen (detached mode). Dette betyr at terminalen fortsatt kan brukes mens containeren kjører
  • -p 27017:27017: Åpner MongoDBs standardport 27017 for containeren på vertsystemet ditt
  • mongo:latest: Gir instruksjon om å hente det nyeste tilgjengelige bildet

Trinn 3: Kontroller at containeren kjører

For å forsikre deg om at containeren er startet opp, skriver du inn følgende kommando:

docker ps
bash

Denne informasjonen gir en rask oversikt over de aktive MongoDB-Docker-containerne på systemet ditt, inkludert hvor lenge de har vært i gang og hvilke porter de bruker. For mer detaljer, for eksempel om stoppede containere eller spesifikke filtreringsalternativer, anbefales det å bruke kommandoen docker ps -a.

Trinn 4: Opprett en tilkobling til MongoDB i Docker-containeren

Nå kan du opprette en forbindelse til MongoDB-instansen i Docker-containeren din. For å gjøre dette starter du MongoDB Shell direkte i containeren:

  • docker exec: Utfører en kommando i den aktive containeren
  • -it: Tillater interaksjon med terminalen i containeren
  • mongodb-container: Navnet på den konfigurerte MongoDB-beholderen
  • mongo: Starter MongoDB-skallet

Når du har kjørt denne kommandoen, bør du se at MongoDB-skallet er klart til å motta kommandoer. Du kan nå skrive inn de vanlige MongoDB-kommandoene for å administrere eller søke i databasen din.

Trinn 5: Utfør operasjoner i MongoDB-skallet

Du kan nå vise alle eksisterende databaser på MongoDB-serveren på følgende måte:

show databases
bash

Utdataene inneholder navnene på databasene:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

For å arbeide med en bestemt database i MongoDB-skallet, bruk følgende kommando:

use mydatabase
bash

Bruk følgende kommando for å bytte til databasen med navnet «mydatabase». Hvis databasen ikke finnes, opprettes den automatisk når et dokument legges inn.

Du kan også hente dokumenter fra en bestemt samling:

db.users.find()
bash

MongoDB-skallet returnerer alle dokumenter som er lagret i samlingen «users».

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

Hvert dokument inneholder et unikt felt _id (MongoDB-spesifikk identifikator) og andre felt, som for eksempel username og age.

Du finner mer informasjon om Docker-verktøy og en presentasjon av MongoDB, inkludert en sammenligning med MySQL, i vår guide.

Go to Main Menu