MongoDB Docker-con­tain­rar är lätta att replikera och skala. Om be­last­ning­en på databasen ökar kan du starta yt­ter­li­ga­re MongoDB-con­tain­rar. Detta håller da­ta­ba­sens prestanda stabil.

Körs MongoDB i en Docker-container?

MongoDB kan köras effektivt i en Docker-container. Det finns två typer av MongoDB-bilder på Docker Hub: Community Edition och En­ter­pri­se Edition. Valet mellan dessa två versioner beror på dina specifika behov. Community Edition är van­ligt­vis idealisk för icke-kom­mer­si­ellt bruk eller mindre in­stal­la­tio­ner. En­ter­pri­se Edition in­ne­hål­ler dock extra funk­tio­ner och support för större ap­pli­ka­tio­ner eller företag med avan­ce­ra­de behov som kryp­te­ring, gransk­ning och LDAP-in­teg­ra­tion.

Om de för­kon­fi­gu­re­ra­de MongoDB-bilderna på Docker Hub inte helt uppfyller dina behov kan du med Docker skapa en anpassad Docker-bild med hjälp av en Doc­ker­fi­le. Med en Doc­ker­fi­le kan du välja MongoDB-version, kon­fi­gu­re­ra specifika al­ter­na­tiv (som au­ten­ti­se­rings­me­to­der) och in­stal­le­ra yt­ter­li­ga­re verktyg eller driv­ru­ti­ner som behövs för din miljö.

Hur man använder MongoDB som en Docker-container steg för steg

Docker är känt för sin lätta vir­tu­a­li­se­ring, som möjliggör por­ta­bi­li­tet och kon­si­stens mellan olika ut­veck­lings- och pro­duk­tions­mil­jö­er. Nedan guidar vi dig steg för steg genom hur du kon­fi­gu­re­rar MongoDB-con­tain­rar i Docker. För nybörjare re­kom­men­de­rar vi att du läser vår Docker-hand­led­ning: In­stal­la­tion och första stegen, som ger en de­tal­je­rad in­tro­duk­tion till con­tai­ner­platt­for­men.

Steg 1: Ladda ner MongoDB Docker-bild

För att skapa en MongoDB Docker-container skaffar vi först den bild som behövs för att köra Docker Hub. Öppna ter­mi­na­len eller kom­man­do­ra­den och kör följande kommando:

docker pull mongo:latest
bash

Om bilden redan finns lokalt kommer Docker inte att ladda ner en ny version om du inte specifikt anger vilken version du vill använda (till exempel mongo:4.4).

Steg 2: Starta MongoDB Docker-con­tai­nern

När Docker-bilden för MongoDB har laddats ner kan du starta en container baserad på denna bild:

  • docker run: Startar en ny Docker-container
  • --name mongodb-container: Namnger con­tai­nern ”mongodb-container”
  • -d: Använd denna parameter för att starta con­tai­nern i bak­grun­den (fritt läge). Detta innebär att ter­mi­na­len fort­fa­ran­de kan användas medan con­tai­nern körs
  • -p 27017:27017: Öppnar MongoDB:s stan­dard­port 27017 för con­tai­nern på ditt värd­sy­stem
  • mongo:latest: Ger in­struk­tio­nen att hämta den senaste till­gäng­li­ga bilden

Steg 3: Kon­trol­le­ra att be­hål­la­ren är igång

För att sä­ker­stäl­la att con­tai­nern har startats korrekt, ange följande kommando:

docker ps
bash

Denna in­for­ma­tion ger en snabb översikt över de aktiva MongoDB Docker-con­tain­rar­na på ditt system, inklusive hur länge de har varit igång och vilka portar de använder. För mer detaljer, såsom stoppade con­tain­rar eller specifika fil­tre­rings­al­ter­na­tiv, re­kom­men­de­ras det att använda kommandot docker ps -a.

Steg 4: Upprätta en an­slut­ning till MongoDB i Docker-con­tai­nern

Nu kan du upprätta en an­slut­ning till MongoDB-instansen i din Docker-container. För att göra detta startar du MongoDB Shell direkt i con­tai­nern:

  • docker exec: Kör ett kommando i den aktiva con­tai­nern
  • -it: Tillåter in­ter­ak­tion med ter­mi­na­len i con­tai­nern
  • mongodb-container: Namnet på den kon­fi­gu­re­ra­de MongoDB-con­tai­nern
  • mongo: Startar MongoDB-skalet

När du har utfört det här kommandot bör du se MongoDB-skalet redo att ta emot kommandon. Du kan nu ange de vanliga MongoDB-kom­man­do­na för att hantera eller söka i din databas.

Steg 5: Utför ope­ra­tio­ner i MongoDB-skalet

Du kan nu visa alla be­fint­li­ga databaser på MongoDB-servern på följande sätt:

show databases
bash

Ut­mat­ning­en in­ne­hål­ler namnen på da­ta­ba­ser­na:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

För att arbeta med en specifik databas i MongoDB-skalet använder du följande kommando:

use mydatabase
bash

Använd följande kommando för att växla till databasen med namnet “myda­ta­ba­se”. Om databasen inte finns skapas den au­to­ma­tiskt när ett dokument infogas.

Du kan också hämta dokument från en specifik samling:

db.users.find()
bash

MongoDB-skalet re­tur­ne­rar alla dokument som är lagrade 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

Varje dokument in­ne­hål­ler ett unikt _id ält (MongoDB-specifik iden­ti­fi­e­ra­re) och andra fält såsom username och age.

Mer in­for­ma­tion om Docker-verktyg och en pre­sen­ta­tion av MongoDB, inklusive en jäm­fö­rel­se med MySQL, finns i vår guide.

Gå till huvudmeny