MongoDB-Docker-con­tai­ne­re er nemme at replikere og skalere. Hvis be­last­nin­gen på databasen stiger, kan du starte yder­li­ge­re MongoDB-con­tai­ne­re. Dette sikrer, at da­ta­ba­sens ydeevne forbliver stabil.

Kører MongoDB i en Docker-container?

MongoDB kan køre effektivt i en Docker-container. Der findes to typer MongoDB-images på Docker Hub: Community Edition og En­ter­pri­se Edition. Valget mellem disse to versioner afhænger af dine spe­ci­fik­ke behov. Community Edition er som regel ideel til ikke-kom­merci­el brug eller mindre in­stal­la­tio­ner. En­ter­pri­se Edition in­de­hol­der derimod ekstra funk­tio­ner og support til større ap­pli­ka­tio­ner eller virk­som­he­der med avan­ce­re­de behov, såsom kryp­te­ring, logføring og LDAP-in­te­gra­tion.

Hvis de fær­dig­kon­fi­gu­re­re­de MongoDB-billeder på Docker Hub ikke fuldt ud opfylder dine behov, giver Docker dig mulighed for at oprette et bru­ger­de­fi­ne­ret Docker-billede ved hjælp af en Do­ck­er­fi­le. Med en Do­ck­er­fi­le kan du vælge MongoDB-version, kon­fi­gu­re­re spe­ci­fik­ke indstil­lin­ger (f.eks. god­ken­del­ses­me­to­der) og in­stal­le­re even­tu­el­le yder­li­ge­re værktøjer eller drivere, der er nød­ven­di­ge for dit miljø.

Sådan bruger du MongoDB som en Docker-container trin for trin

Docker er kendt for sin let­vægtsvir­tu­a­li­se­ring, der sikrer po­rta­bi­li­tet og ens­ar­tet­hed på tværs af for­skel­li­ge ud­vik­lings- og pro­duk­tions­mil­jø­er. Nedenfor vil vi trin for trin vise dig, hvordan du opsætter MongoDB-con­tai­ne­re i Docker. Til begyndere anbefaler vi, at du læser vores Docker-vej­led­ning: In­stal­la­tion og første skridt, som giver en de­tal­je­ret in­tro­duk­tion til con­tai­ner­p­lat­for­men.

Trin 1: Download MongoDB-Docker-billedet

For at oprette en MongoDB-Docker-container skal vi først hente det relevante billede fra Docker Hub. Åbn din terminal eller kom­man­do­linje, og kør følgende kommando:

docker pull mongo:latest
bash

Hvis billedet allerede findes lokalt, vil Docker ikke downloade en ny version, medmindre du ud­tryk­ke­ligt angiver den version, du ønsker at bruge (f.eks. mongo:4.4).

Trin 2: Start MongoDB-Docker-con­tai­ne­ren

Når Docker-billedet til MongoDB er blevet down­lo­a­det, kan du starte en container baseret på dette billede:

  • docker run: Starter en ny Docker-container
  • --name mongodb-container: Navngiver con­tai­ne­ren ‘mongodb-container’
  • -d: Brug denne parameter til at starte con­tai­ne­ren i bag­grun­den (detached mode). Det betyder, at ter­mi­na­len stadig kan bruges, mens con­tai­ne­ren kører
  • -p 27017:27017: Åbner MongoDB’s stan­dard­port 27017 på con­tai­ne­ren på dit vært­sy­stem
  • mongo:latest: Giver in­struk­tio­nen om at hente det seneste til­gæn­ge­li­ge billede

Trin 3: Kon­trol­ler, at con­tai­ne­ren kører

For at sikre, at con­tai­ne­ren er blevet startet korrekt, skal du indtaste følgende kommando:

docker ps
bash

Denne in­for­ma­tion giver et hurtigt overblik over de aktive MongoDB-Docker-con­tai­ne­re på dit system, herunder hvor længe de har kørt, og hvilke porte de bruger. For yder­li­ge­re op­lys­nin­ger, f.eks. om stoppede con­tai­ne­re eller spe­ci­fik­ke fil­tre­rings­mu­lig­he­der, anbefales det at bruge kom­man­do­en docker ps -a.

Trin 4: Opret en for­bin­del­se til MongoDB i Docker-con­tai­ne­ren

Nu kan du oprette for­bin­del­se til MongoDB-instansen i din Docker-container. Det gør du ved at starte MongoDB Shell direkte i con­tai­ne­ren:

  • docker exec: Udfører en kommando i den kørende container
  • -it: Tillader in­ter­ak­tion med ter­mi­na­len i con­tai­ne­ren
  • mongodb-container: Navnet på den kon­fi­gu­re­re­de MongoDB-container
  • mongo: Starter MongoDB-shell

Når du har kørt denne kommando, bør du nu kunne se MongoDB-shell’en, der er klar til at modtage kom­man­do­er. Du kan nu indtaste de sæd­van­li­ge MongoDB-kom­man­do­er til at ad­mi­ni­stre­re eller søge i din database.

Trin 5: Udfør hand­lin­ger i MongoDB-shell

Du kan nu få vist alle ek­si­ste­ren­de databaser på MongoDB-serveren på følgende måde:

show databases
bash

Ud­skrif­ten in­de­hol­der navnene på da­ta­ba­ser­ne:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Hvis du vil arbejde med en bestemt database i MongoDB-shell, skal du bruge følgende kommando:

use mydatabase
bash

Brug følgende kommando til at skifte til databasen med navnet »my­da­ta­ba­se«. Hvis databasen ikke findes, oprettes den au­to­ma­tisk, når der indsættes et dokument.

Du kan også hente do­ku­men­ter fra en bestemt samling:

db.users.find()
bash

MongoDB-shellen re­tur­ne­rer alle do­ku­men­ter, der er gemt 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 in­de­hol­der et unikt felt _id (MongoDB-specifik iden­ti­fi­ka­tor) samt andre felter, såsom username og age.

Du kan finde mere in­for­ma­tion om Docker-værktøjer og en præ­sen­ta­tion af MongoDB, herunder en sam­men­lig­ning med MySQL, i vores guide.

Gå til ho­ved­me­nu­en