MongoDB-Docker-Container lassen sich un­kom­pli­ziert re­pli­zie­ren und skalieren. Steigen die An­for­de­run­gen an deine Datenbank, startest du einfach weitere Instanzen. So bleibt die Da­ten­bank­leis­tung stabil.

Läuft MongoDB in einem Docker-Container?

Du kannst MongoDB hoch­ef­fi­zi­ent in einem Docker-Container betreiben. Auf Docker Hub stehen dir primär zwei Image-Typen zur Verfügung: die Community Edition und die En­ter­pri­se Edition. Welche Variante die richtige für dich ist, kommt auf dein Projekt an. Während die Community Edition ideal für private Zwecke oder kleinere Setups ist, punktet die En­ter­pri­se Edition mit Profi-Features wie er­wei­ter­ter Ver­schlüs­se­lung, Auditing und LDAP-In­te­gra­ti­on für Un­ter­neh­mens­ein­sät­ze.

Sollten die Standard-Images nicht exakt zu deinem Plan passen, nutzt du mit Docker einfach ein eigenes Docker-Image via Do­cker­file. Hier legst du die MongoDB-Version fest, de­fi­nierst Kon­fi­gu­ra­tio­nen wie die Au­then­ti­fi­zie­rung oder in­stal­lierst direkt die passenden Treiber für deine Umgebung.

MongoDB als Docker-Container starten: Schritt-für-Schritt-Anleitung

Docker punktet durch res­sour­cen­scho­nen­de Vir­tua­li­sie­rung, die für kon­sis­ten­te Abläufe zwischen Ent­wick­lung und Live-Betrieb sorgt. Wir zeigen dir jetzt, wie du deine MongoDB-Container startklar machst. Falls du neu in der Container-Welt bist, hilft dir unser Docker-Tutorial für Ein­stei­ger:innen beim ersten Setup weiter.

Schritt 1: MongoDB-Docker-Image laden

Zuerst holst du dir das passende Image von Docker Hub. Öffne dein Terminal und gib folgenden Befehl ein:

docker pull mongo:latest
bash

Ist das Image schon auf deinem System, über­springt Docker den Download – außer du fragst gezielt nach einer anderen Version (wie etwa mongo:4.4).

Schritt 2: MongoDB-Docker-Container starten

Sobald das Image be­reit­liegt, erstellst du daraus deinen aktiven Container:

docker run --name mongodb-container -d -p 27017:27017 mongo:latest
bash
  • docker run: Erzeugt einen neuen Container.
  • --name mongodb-container: Benennt deine Instanz „mongodb-container“.
  • -d: Startet den Prozess im Hin­ter­grund (Detached Mode), damit dein Terminal frei bleibt.
  • -p 27017:27017: Verknüpft den Standard-Port 27017 des Con­tai­ners mit deinem Host­sys­tem.
  • mongo:latest: Nutzt die ak­tu­ells­te Version des Images.

Schritt 3: Status über­prü­fen

Um zu checken, ob alles glatt läuft, nutzt du diesen Befehl:

docker ps
bash

Du siehst sofort, welche Container aktiv sind, wie lange sie schon laufen und welche Ports belegt sind. Willst du auch gestoppte Instanzen sehen, hilft dir der Befehl docker ps -a weiter.

Schritt 4: Ver­bin­dung zur Datenbank aufbauen

Verbinde dich nun direkt mit deiner MongoDB-Instanz im Container, indem du die MongoDB Shell aufrufst:

docker exec -it mongodb-container mongo
bash
  • docker exec: Führt Befehle im laufenden Container aus.
  • -it: Aktiviert den in­ter­ak­ti­ven Modus im Terminal.
  • mongodb-container: Dein gewählter Container-Name.
  • mongo: Ruft die Shell auf.

Die Shell ist nun bereit für deine Da­ten­bank­be­feh­le und Abfragen.

Schritt 5: Mit der Datenbank arbeiten

Lass dir alle ver­füg­ba­ren Da­ten­ban­ken auf dem Server anzeigen:

show databases
bash

Die Liste sieht etwa so aus:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Um zu einer be­stimm­ten Datenbank zu wechseln, nutzt du:

use mydatabase
bash

Du arbeitest nun mit „my­da­ta­ba­se“. Existiert diese noch nicht, wird sie beim ersten Spei­cher­vor­gang au­to­ma­tisch angelegt.

So fragst du Daten aus einer Coll­ec­tion ab:

db.users.find()
bash

Die Shell liefert dir alle Einträge der „users“-Coll­ec­tion zurück.

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

Jedes Dokument besitzt eine ein­deu­ti­ge _id sowie deine in­di­vi­du­el­len Da­ten­fel­der wie username oder age.

Mehr Tipps zu Docker-Tools und einen span­nen­den Vergleich zwischen MongoDB und MySQL findest du in unserem Magazin.

Zum Hauptmenü