MongoDB ist eine weit verbreitete No-SQL-Datenbank, die gut in Containern funktionieren kann, wenn Sie wissen, wie man sie einrichtet. Erfahren Sie hier, wie Sie die grafische Benutzeroberfläche Compass verbinden.
MongoDB ist eine der meistgenutzten Open-Source-NoSQL-Datenbanken auf dem Markt. Sie bietet alle Funktionen, die Sie benötigen, um riesige Datenmengen zu verwalten und zu pflegen, und bietet sogar eine offizielle Desktop-Anwendung, die die Verwaltung dieser Datenbanken ein wenig erleichtert.
SEHEN: Recruitment Kit: Database Engineer (Tech Republic Premium)
Sie könnten denken, dass es ziemlich schwierig wäre, die GUI-Anwendung mit einer per Docker bereitgestellten MongoDB-Instanz zu verbinden, aber es ist nicht so schwierig, wie es scheint. In diesem Lernprogramm zeige ich Ihnen, wie Sie den MongoDB-Container bereitstellen und sich dann von MongoDB Compass aus mit ihm verbinden.
Springen zu:
Was Sie brauchen, um MongoDB Compass mit einer Container-Datenbank zu verbinden
Damit diese Verbindung funktioniert, benötigen Sie eine laufende Instanz eines Betriebssystems, das sowohl Docker als auch die MongoDB-Anwendung Compass unterstützt. Ich werde dies mit Ubuntu Linux demonstrieren und Ihnen zeigen, wie Sie Docker installieren, den Container bereitstellen und dann Compass mit einer Datenbank verbinden. Bitte beachten Sie, dass dieser Prozess mit einer Vielzahl von Linux-Distributionen kompatibel ist.
Wenn Sie mehr an allgemeinen Anweisungen zur Installation des MongoDB GUI Compass und seiner Verbindung mit einem entfernten Server interessiert sind, ist dieses Lernprogramm vielleicht ein besserer Ausgangspunkt.
Verbindung zu gehostetem MongoDB über Docker
Das erste, was Sie bei der Verbindung mit MongoDB über diese Methode tun müssen, ist, Docker zu installieren. Sie können den offiziellen Docker GPG-Schlüssel mit diesem Befehl hinzufügen :
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
Als Nächstes fügen Sie das Docker-Repository :
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Von hier aus ist es an der Zeit, die notwendigen Abhängigkeiten mit diesem Befehl zu installieren :
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
Um die neueste Version der Docker-Engine zu installieren, können Sie die beiden folgenden Befehle verwenden:
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
Fügen Sie nun Ihren Benutzer mit folgendem zur Docker-Gruppe hinzu:
sudo usermod -aG docker $USER
Melden Sie sich ab und wieder an, damit die Änderungen wirksam werden.
Einsatz und Konfiguration des MongoDB-Containers
Wir können nun den MongoDB-Container mit den folgenden Elementen bereitstellen :
docker run -d -p 27017:27017 --name example-mongo mongo:latest
Wenn der Container läuft, müssen Sie mit diesem Befehl auf ihn zugreifen :
docker exec -it example-mongo bash
Sobald wir uns im Container befinden, müssen wir die MongoDB-Konfigurationsdatei mit diesem Befehl bearbeiten :
sudo nano /etc/mongod.conf.orig
Suchen Sie in dieser Datei nach dem folgenden Abschnitt:
net:
Hafen: 27017
bindIp: 127.0.0.1
Ersetzen Sie diesen Abschnitt durch den folgenden :
net:
Hafen: 27017
bindIp: 0.0.0.0
Wenn Sie diese Änderungen vorgenommen haben, speichern und schließen Sie die Datei. Verlassen Sie den Container mit dem exit
bestellen.
Starten Sie den Container von hier aus neu mit :
docker restart ID
In diesem Befehl ist ID die ID des Mongo-Containers. Wenn Sie sich über die ID nicht sicher sind, können Sie sie mit :
docker ps
Hinweis: Möglicherweise müssen Sie den MongoDB-Container mit Umgebungsvariablen für den Benutzernamen und das Passwort bereitstellen, was folgendermaßen geschehen kann:
docker run -d -name some-mongo -e MONGO_INITDB_ROOT_USERNAME=NAME -e MONGO_INITDB_ROOT_PASSWORD=SECRET mongo
NAME ist ein Benutzername und SECRET ist ein eindeutiges und starkes Passwort.
Verbindung zum Kompass
Da der MongoDB-Container läuft, können Sie sich nun mit Compass an ihm anmelden. Dazu verwenden Sie denselben Anmeldebefehl, den Sie verwenden würden, wenn MongoDB über den herkömmlichen Paketmanager installiert würde, und die Anmeldeinformationen des Benutzers, die Sie mit den Umgebungsvariablen verwendet haben.
Wenn Sie von einer entfernten Compass-Instanz aus immer noch keine Verbindung zur Containerversion von MongoDB herstellen können, müssen Sie Compass möglicherweise auf demselben Rechner installieren, auf dem der MongoDB-Container läuft.
Nächste Schritte
Herzlichen Glückwunsch, Sie verfügen nun über eine gut gestaltete grafische Benutzeroberfläche, die Ihnen Ihre MongoDB-Verwaltungsaufgaben ein wenig erleichtert. Sie können sich von Compass aus mit beliebig vielen MongoDB-Servern verbinden und damit beginnen, alle benötigten MongoDB-Sammlungen zu erstellen und zu verwalten.