# 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](https://www.ionos.at/digitalguide/server/knowhow/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](https://www.ionos.at/digitalguide/server/knowhow/was-ist-docker/) die Möglichkeit, Ihr eigenes **benutzerdefiniertes Docker-Image** mithilfe eines [Dockerfiles](https://www.ionos.at/digitalguide/server/knowhow/dockerfile/) 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 Virtualisierung**aus, 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](https://www.ionos.at/digitalguide/server/konfiguration/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:

```bash
docker pull mongo:latest
```

Wenn 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:

```bash
docker run --name mongodb-container -d -p 27017:27017 mongo:latest
```

- `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:

```bash
docker ps
```

Die 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:

```bash
docker exec -it mongodb-container mongo
```

- `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:

```bash
show databases
```

Die Ausgabe enthält die Namen der Datenbanken:

```bash
admin   0.000GB
local      0.000GB
test       0.000GB
```

Um mit einer spezifischen Datenbank in der MongoDB Shell zu arbeiten, nutzen Sie den folgenden Befehl:

```bash
use mydatabase
```

Mit 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:

```bash
db.users.find()
```

Die MongoDB Shell gibt alle Dokumente zurück, die in der „users“-Kollektion gespeichert sind.

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

Jedes Dokument enthält ein eindeutiges `_id`-Feld (MongoDB-spezifischer Identifier) und weitere Felder wie zum Beispiel `username` und `age`.

Weitere Informationen zu [Docker-Tools](https://www.ionos.at/digitalguide/server/knowhow/docker-tools-das-oekosystem-der-container-plattform/) sowie eine [MongoDB-Vorstellung inklusive Vergleich mit MySQL](https://www.ionos.at/digitalguide/websites/web-entwicklung/mongodb-vorstellung-und-vergleich-mit-mysql/) finden Sie in unserem Ratgeber.


This is a markdown version of: [https://www.ionos.at/digitalguide/server/konfiguration/mongodb-docker-container/](https://www.ionos.at/digitalguide/server/konfiguration/mongodb-docker-container/) for AI/LLM consumption.