MongoDB-Docker-Container sind leicht zu re­pli­zie­ren und zu skalieren. Wenn die Last auf der Datenbank zunimmt, können Sie weitere MongoDB-Container starten. So bleibt die Da­ten­bank­leis­tung stabil.

Läuft MongoDB in einem Docker-Container?

MongoDB lässt sich effektiv in einem Docker-Container betreiben. Auf Docker Hub gibt es zwei Arten von MongoDB-Images: die Community Edition und die En­ter­pri­se Edition. Welche dieser beiden Varianten für Sie am besten geeignet ist, hängt von Ihren spe­zi­fi­schen An­sprü­chen ab. Die Community Edition wird ty­pi­scher­wei­se für nicht-kom­mer­zi­el­le Zwecke oder kleinere Be­reit­stel­lun­gen genutzt. Die En­ter­pri­se Edition hingegen bietet zu­sätz­li­che Funk­tio­nen und Un­ter­stüt­zung, die für größere An­wen­dun­gen oder Un­ter­neh­mens­um­ge­bun­gen mit fort­ge­schrit­te­nen An­for­de­run­gen wie Ver­schlüs­se­lung, Auditing und LDAP-In­te­gra­ti­on geeignet sind.

Falls die vor­ge­fer­tig­ten MongoDB-Images auf Docker Hub nicht voll­stän­dig Ihren Wünschen ent­spre­chen, bietet Docker die Mög­lich­keit, Ihr eigenes be­nut­zer­de­fi­nier­tes Docker-Image mithilfe eines Do­cker­files zu erstellen. Darin können Sie die Version von MongoDB wählen, bestimmte Kon­fi­gu­ra­ti­ons­op­tio­nen setzen (zum Beispiel Au­then­ti­fi­zie­rungs­me­tho­den) und zu­sätz­li­che Tools oder Treiber in­stal­lie­ren, die für Ihre Umgebung wichtig sind.

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

Docker zeichnet sich durch eine leicht­ge­wich­ti­ge Vir­tua­li­sie­rungaus, welche die Por­ta­bi­li­tät und Kon­sis­tenz in ver­schie­de­nen Ent­wick­lungs- und Pro­duk­ti­ons­um­ge­bun­gen fördert. Im Folgenden erklären wir Schritt für Schritt, wie MongoDB-Container in Docker ein­ge­rich­tet werden. Für An­fän­ge­rin­nen und Anfänger empfehlen wir unser Docker-Tutorial: In­stal­la­ti­on und erste Schritte. Darin geben wir Ihnen eine aus­führ­li­che Ein­füh­rung in die Container-Plattform.

Schritt 1: MongoDB-Docker-Image her­un­ter­la­den

Um einen MongoDB-Docker-Container zu erstellen, beginnen wir zuerst damit, das ent­spre­chen­de Image für die Aus­füh­rung von Docker Hub zu beziehen. Öffnen Sie Ihr Terminal bzw. Ihre Kom­man­do­zei­le und führen Sie den folgenden Befehl aus:

docker pull mongo:latest
bash

Wenn das Image bereits lokal vorhanden ist, wird Docker keine neue Version her­un­ter­la­den, es sei denn, Sie geben explizit die Version an, die Sie nutzen möchten (zum Beispiel mongo:4.4).

Schritt 2: MongoDB-Docker-Container starten

Nachdem das Docker-Image für MongoDB er­folg­reich her­un­ter­ge­la­den wurde, können Sie nun einen Container basierend auf diesem Image starten:

docker run --name mongodb-container -d -p 27017:27017 mongo:latest
bash
  • docker run: Startet einen neuen Docker-Container
  • --name mongodb-container: Gibt dem Container den Namen „mongodb-container“
  • -d: Mit diesem Parameter starten Sie den Container im Hin­ter­grund (detached mode). Dadurch ist das Terminal weiterhin nutzbar, während der Container läuft.
  • -p 27017:27017: Öffnet den MongoDB-Standard-Port 27017 des Con­tai­ners auf Ihrem Host­sys­tem
  • mongo:latest: Gibt die Anweisung, das neueste ver­füg­ba­re Image zu beziehen

Schritt 3: Über­prü­fen, ob der Container läuft

Um si­cher­zu­stel­len, dass der Container er­folg­reich gestartet wurde, geben Sie den folgenden Befehl ein:

docker ps
bash

Die er­hal­te­nen In­for­ma­tio­nen sind nützlich, um einen schnellen Überblick darüber zu bekommen, welche MongoDB-Docker-Container auf Ihrem System aktiv sind, wie lange sie laufen und welche Ports sie verwenden. Wenn Sie weitere Details benötigen, wie etwa gestoppte Container oder spe­zi­fi­sche Fil­ter­op­tio­nen, empfiehlt sich der Befehl docker ps -a.

Schritt 4: Ver­bin­dung zu MongoDB im Docker-Container her­stel­len

Jetzt können Sie eine Ver­bin­dung zur MongoDB-Instanz in Ihrem Docker-Container her­stel­len. Starten Sie dazu die MongoDB Shell direkt im Container:

docker exec -it mongodb-container mongo
bash
  • docker exec: Führt ein Kommando in dem laufenden Container aus
  • -it: Erlaubt die In­ter­ak­ti­on mit dem Terminal im Container
  • mongodb-container: Der Name des auf­ge­setz­ten MongoDB-Con­tai­ners
  • mongo: Startet die MongoDB Shell

Nachdem Sie dieses Kommando aus­ge­führt haben, sollten Sie die MongoDB Shell sehen, die bereit ist, Befehle zu empfangen. Sie können nun die gewohnten MongoDB-Befehle eingeben, um Ihre Datenbank zu verwalten oder ab­zu­fra­gen.

Schritt 5: Ope­ra­tio­nen in der MongoDB Shell ausführen

Fol­gen­der­ma­ßen zeigen Sie nun alle vor­han­de­nen Da­ten­ban­ken auf dem MongoDB-Server an:

show databases
bash

Die Ausgabe enthält die Namen der Da­ten­ban­ken:

admin   0.000GB
local      0.000GB
test       0.000GB
bash

Um mit einer spe­zi­fi­schen Datenbank in der MongoDB Shell zu arbeiten, nutzen Sie den folgenden Befehl:

use mydatabase
bash

Mit dem Kommando wechseln Sie zur Datenbank mit dem Namen „my­da­ta­ba­se“. Wenn die Datenbank nicht existiert, wird sie au­to­ma­tisch erstellt, sobald ein Dokument eingefügt wird.

Sie können auch Dokumente aus einer be­stimm­ten Kol­lek­ti­on abfragen:

db.users.find()
bash

Die MongoDB Shell gibt alle Dokumente zurück, die in der „users“-Kol­lek­ti­on ge­spei­chert sind.

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

Jedes Dokument enthält ein ein­deu­ti­ges _id-Feld (MongoDB-spe­zi­fi­scher Iden­ti­fier) und weitere Felder wie zum Beispiel username und age.

Weitere In­for­ma­tio­nen zu Docker-Tools sowie eine MongoDB-Vor­stel­lung inklusive Vergleich mit MySQL finden Sie in unserem Ratgeber.

Managed Database Services
Da­ten­ban­ken – Auf´s We­sent­li­che kon­zen­trie­ren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maß­ge­schnei­der­te Datenbank-Lösungen ganz auf Ihre Be­dürf­nis­se
  • Re­chen­zen­tren in Deutsch­land: Ihre Daten sind sicher
Zum Hauptmenü