Weitere interessante Artikel
Installation von MongoDB mit Docker unter Linux
Gehen Sie folgendermaßen vor, um MongoDB mit Docker unter Linux zu installieren:
- Öffnen Sie ein Terminal und melden Sie sich als root oder als Benutzer mit sudo-Rechten an.
- Führen Sie den folgenden Befehl aus, um ein neues Verzeichnis in /data/db zu erstellen, das als Volume zum Speichern von MongoDB-Daten verwendet werden soll:
sudo mkdir -p /data/db
- Führen Sie den folgenden Befehl aus, um einen MongoDB-Container namens mongo unter Verwendung eines Mongo-Images von Docker Hub auszuführen:
sudo docker run --name mongo -v /data/db:/data/db -d mongo
Dieser Befehl bewirkt das Gleiche wie im vorherigen Abschnitt für Windows beschrieben.
- Warten Sie einige Augenblicke, bis der Container erstellt und ausgeführt wurde. Sie können den Status des Containers überprüfen, indem Sie den folgenden Befehl ausführen:
sudo docker ps
Mit diesem Befehl wird eine Liste der Container angezeigt, die derzeit auf Ihrem Rechner laufen. Sie sollten eine Ausgabe wie diese sehen:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 5f0b9c8a9f0a mongo "docker-entrypoint.s…" 2 minutes ago Up 2 minutes 27017/tcp mongo
Diese Ausgabe zeigt an, dass der Mongo-Container mit einem Mongo-Image und Port 27017 (der Standardport von MongoDB) läuft.
- Herzlichen Glückwunsch, Sie haben MongoDB erfolgreich mit Docker auf Linux installiert! Sie können nun eine Verbindung zu Ihrer MongoDB-Datenbank herstellen, indem Sie die von Ihnen bevorzugten Tools wie MongoDB Shell, MongoDB Compass oder MongoDB-Treiber für Ihre bevorzugte Programmiersprache verwenden.
Tipps und Tricks
Im Folgenden finden Sie einige Tipps und Tricks, mit denen Sie die Verwendung von MongoDB mit Docker optimieren können:
- Wenn Sie den MongoDB-Container stoppen möchten, können Sie den folgenden Befehl ausführen:
docker stop mongo
- Wenn Sie einen MongoDB-Container löschen möchten, können Sie den folgenden Befehl ausführen:
docker rm mongo
- Wenn Sie ein MongoDB-Image löschen möchten, können Sie den folgenden Befehl ausführen:
docker rmi mongo
- Wenn Sie eine bestimmte Version von MongoDB verwenden möchten, können Sie ein Versions-Tag nach dem Image-Namen hinzufügen. Wenn Sie beispielsweise die Version 5.0 von MongoDB verwenden möchten, können Sie den folgenden Befehl ausführen:
docker run --name mongo -v /data/db:/data/db -d mongo:5.0
- Wenn Sie den Container-Port für einen anderen Host-Port freigeben möchten, verwenden Sie die Option -p. Wenn Sie zum Beispiel den Port 27017 eines Containers für den Port 3000 des Hosts freigeben möchten, können Sie den folgenden Befehl ausführen:
docker run --name mongo -v /data/db:/data/db -p 30000:27017 -d mongo
- Wenn Sie mehrere MongoDB-Instanzen auf demselben Rechner ausführen möchten, müssen Sie für jeden Container unterschiedliche Namen vergeben und für jeden Container unterschiedliche Ports freigeben. Wenn Sie beispielsweise zwei MongoDB-Instanzen mit den Namen mongo1 und mongo2 ausführen und die Ports 27017 und 27018 vom Host freigeben möchten, können Sie die folgenden Befehle ausführen:
docker run --name mongo1 -v /data/db1:/data/db -p 27017:27017 -d mongo docker run --name mongo2 -v /data/db2:/data/db -p 27018:27017 -d mongo
- Wenn Sie Docker Compose verwenden möchten, um Ihre MongoDB-Container einfacher zu verwalten, können Sie eine docker-compose.yml-Datei mit folgendem Inhalt erstellen:
``` version: "3" services: mongo: image: mongo volumes: - /data/db:/data/db ports: - 27017:27017 ```
- Wenn Sie MongoDB mit anderen Anwendungen verbinden möchten, die in Docker-Containern laufen, können Sie das interne Netzwerk von Docker nutzen, um die Kommunikation zwischen Containern zu ermöglichen. Wenn Sie beispielsweise MongoDB mit einer Node.js-Anwendung verbinden möchten, die in einem App-Container läuft, können Sie eine docker-compose.yml-Datei mit folgendem Inhalt erstellen:
version: "3" services: mongo: image: mongo volumes: - /data/db:/data/db networks: - app-network app: image: node volumes: - /app:/app ports: - 3000:3000 networks: - app-network networks: app-network:
- Wenn Sie MongoDB detaillierter konfigurieren möchten, verwenden Sie eine benutzerdefinierte Konfigurationsdatei, die die gewünschten Optionen enthält. Wenn Sie beispielsweise die Authentifizierung und Verschlüsselung für MongoDB aktivieren möchten, können Sie eine mongod.conf-Datei mit folgendem Inhalt erstellen:
systemLog: destination: file path: "/var/log/mongodb/mongod.log" logAppend: true storage: dbPath: "/data/db" journal: enabled: true net: port: 27017 bindIp: 0.0.0.0 tls: mode: requireTLS certificateKeyFile: "/etc/ssl/mongodb.pem" security: authorization: enabled
- Wenn Sie diese Konfigurationsdatei verwenden möchten, müssen Sie sie in ein Verzeichnis kopieren, auf das der MongoDB-Container zugreifen kann, und den Pfad dieser Datei beim Ausführen des Containers als Argument angeben. Wenn Sie zum Beispiel die Datei mongod.conf in das Verzeichnis /etc/mongo auf dem Host kopieren, können Sie den folgenden Befehl ausführen:
docker run --name mongo -v /etc/mongo:/etc/mongo -v /data/db:/data/db -d mongo --config /etc/mongo/mongod.conf