MongoDB Docker-containrar är lätta att replikera och skala. Om belastningen på databasen ökar kan du starta ytterligare MongoDB-containrar. Detta håller databasens 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 Enterprise Edition. Valet mellan dessa två versioner beror på dina specifika behov. Community Edition är vanligtvis idealisk för icke-kommersiellt bruk eller mindre installationer. Enterprise Edition innehåller dock extra funktioner och support för större applikationer eller företag med avancerade behov som kryptering, granskning och LDAP-integration.

Om de förkonfigurerade MongoDB-bilderna på Docker Hub inte helt uppfyller dina behov kan du med Docker skapa en anpassad Docker-bild med hjälp av en Dockerfile. Med en Dockerfile kan du välja MongoDB-version, konfigurera specifika alternativ (som autentiseringsmetoder) och installera ytterligare verktyg eller drivrutiner 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 virtualisering, som möjliggör portabilitet och konsistens mellan olika utvecklings- och produktionsmiljöer. Nedan guidar vi dig steg för steg genom hur du konfigurerar MongoDB-containrar i Docker. För nybörjare rekommenderar vi att du läser vår Docker-handledning: Installation och första stegen, som ger en detaljerad introduktion till containerplattformen.

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 terminalen eller kommandoraden 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-containern

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 containern ”mongodb-container”
  • -d: Använd denna parameter för att starta containern i bakgrunden (fritt läge). Detta innebär att terminalen fortfarande kan användas medan containern körs
  • -p 27017:27017: Öppnar MongoDB:s standardport 27017 för containern på ditt värdsystem
  • mongo:latest: Ger instruktionen att hämta den senaste tillgängliga bilden

Steg 3: Kontrollera att behållaren är igång

För att säkerställa att containern har startats korrekt, ange följande kommando:

docker ps
bash

Denna information ger en snabb översikt över de aktiva MongoDB Docker-containrarna 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 containrar eller specifika filtreringsalternativ, rekommenderas det att använda kommandot docker ps -a.

Steg 4: Upprätta en anslutning till MongoDB i Docker-containern

Nu kan du upprätta en anslutning till MongoDB-instansen i din Docker-container. För att göra detta startar du MongoDB Shell direkt i containern:

  • docker exec: Kör ett kommando i den aktiva containern
  • -it: Tillåter interaktion med terminalen i containern
  • mongodb-container: Namnet på den konfigurerade MongoDB-containern
  • 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-kommandona för att hantera eller söka i din databas.

Steg 5: Utför operationer i MongoDB-skalet

Du kan nu visa alla befintliga databaser på MongoDB-servern på följande sätt:

show databases
bash

Utmatningen innehåller namnen på databaserna:

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 “mydatabase”. Om databasen inte finns skapas den automatiskt när ett dokument infogas.

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

db.users.find()
bash

MongoDB-skalet returnerar 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 innehåller ett unikt _id ält (MongoDB-specifik identifierare) och andra fält såsom username och age.

Mer information om Docker-verktyg och en presentation av MongoDB, inklusive en jämförelse med MySQL, finns i vår guide.

Gå till huvudmeny