MongoDB via Docker-Container ausführen – so funktioniert‘s
MongoDB-Docker-Container sind leicht zu replizieren und zu skalieren. Wenn die Last auf der Datenbank zunimmt, können Sie weitere MongoDB-Container starten. So bleibt die Datenbankleistung 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 Enterprise Edition. Welche dieser beiden Varianten für Sie am besten geeignet ist, hängt von Ihren spezifischen Ansprüchen ab. Die Community Edition wird typischerweise für nicht-kommerzielle Zwecke oder kleinere Bereitstellungen genutzt. Die Enterprise Edition hingegen bietet zusätzliche Funktionen und Unterstützung, die für größere Anwendungen oder Unternehmensumgebungen mit fortgeschrittenen Anforderungen wie Verschlüsselung, Auditing und LDAP-Integration geeignet sind.
Falls die vorgefertigten MongoDB-Images auf Docker Hub nicht vollständig Ihren Wünschen entsprechen, bietet Docker die Möglichkeit, Ihr eigenes benutzerdefiniertes Docker-Image mithilfe eines Dockerfiles zu erstellen. Darin können Sie die Version von MongoDB wählen, bestimmte Konfigurationsoptionen setzen (zum Beispiel Authentifizierungsmethoden) und zusätzliche Tools oder Treiber installieren, die für Ihre Umgebung wichtig sind.
MongoDB als Docker-Container starten: Schritt-für-Schritt-Anleitung
Docker zeichnet sich durch eine leichtgewichtige Virtualisierungaus, welche die Portabilität und Konsistenz in verschiedenen Entwicklungs- und Produktionsumgebungen fördert. Im Folgenden erklären wir Schritt für Schritt, wie MongoDB-Container in Docker eingerichtet werden. Für Anfängerinnen und Anfänger empfehlen wir unser Docker-Tutorial: Installation und erste Schritte. Darin geben wir Ihnen eine ausführliche Einführung in die Container-Plattform.
Schritt 1: MongoDB-Docker-Image herunterladen
Um einen MongoDB-Docker-Container zu erstellen, beginnen wir zuerst damit, das entsprechende Image für die Ausführung von Docker Hub zu beziehen. Öffnen Sie Ihr Terminal bzw. Ihre Kommandozeile und führen Sie den folgenden Befehl aus:
docker pull mongo:latest
bashWenn das Image bereits lokal vorhanden ist, wird Docker keine neue Version herunterladen, 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 erfolgreich heruntergeladen 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 Hintergrund (detached mode). Dadurch ist das Terminal weiterhin nutzbar, während der Container läuft. -
-p 27017:27017
: Öffnet den MongoDB-Standard-Port 27017 des Containers auf Ihrem Hostsystem -
mongo:latest
: Gibt die Anweisung, das neueste verfügbare Image zu beziehen
Schritt 3: Überprüfen, ob der Container läuft
Um sicherzustellen, dass der Container erfolgreich gestartet wurde, geben Sie den folgenden Befehl ein:
docker ps
bashDie erhaltenen Informationen 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 spezifische Filteroptionen, empfiehlt sich der Befehl docker ps -a
.
Schritt 4: Verbindung zu MongoDB im Docker-Container herstellen
Jetzt können Sie eine Verbindung zur MongoDB-Instanz in Ihrem Docker-Container herstellen. 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 Interaktion mit dem Terminal im Container -
mongodb-container
: Der Name des aufgesetzten MongoDB-Containers -
mongo
: Startet die MongoDB Shell
Nachdem Sie dieses Kommando ausgefü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 abzufragen.
Schritt 5: Operationen in der MongoDB Shell ausführen
Folgendermaßen zeigen Sie nun alle vorhandenen Datenbanken auf dem MongoDB-Server an:
show databases
bashDie Ausgabe enthält die Namen der Datenbanken:
admin 0.000GB
local 0.000GB
test 0.000GB
bashUm mit einer spezifischen Datenbank in der MongoDB Shell zu arbeiten, nutzen Sie den folgenden Befehl:
use mydatabase
bashMit dem Kommando wechseln Sie zur Datenbank mit dem Namen „mydatabase“. Wenn die Datenbank nicht existiert, wird sie automatisch erstellt, sobald ein Dokument eingefügt wird.
Sie können auch Dokumente aus einer bestimmten Kollektion abfragen:
db.users.find()
bashDie MongoDB Shell gibt alle Dokumente zurück, die in der „users“-Kollektion gespeichert sind.
{ "_id": ObjectId("609823e9f9a5f7f364fc3f90"), "username": "alice", "age": 28 }
{ "_id": ObjectId("609823f2f9a5f7f364fc3f91"), "username": "bob", "age": 32 }
{ "_id": ObjectId("609823f9f9a5f7f364fc3f92"), "username": "charlie", "age": 25 }
bsonJedes Dokument enthält ein eindeutiges _id
-Feld (MongoDB-spezifischer Identifier) und weitere Felder wie zum Beispiel username
und age
.
Weitere Informationen zu Docker-Tools sowie eine MongoDB-Vorstellung inklusive Vergleich mit MySQL finden Sie in unserem Ratgeber.
- IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
- Flexibel: Maßgeschneiderte Datenbank-Lösungen ganz auf Ihre Bedürfnisse
- Rechenzentren in Deutschland: Ihre Daten sind sicher