Richten Sie einen MongoDB -Server mit Docker ein

Richten Sie einen MongoDB -Server mit Docker ein
In diesem Artikel werde ich Ihnen zeigen, wie Sie Docker Compose verwenden, um einen MongoDB-Container zu erstellen und mithilfe von Mongo Express, der webbasierten MongoDB-Administrator-Schnittstelle, darauf zugreifen zu können. Also lasst uns anfangen.

Anforderungen:

Um diesem Artikel zu folgen, müssen Sie Docker auf Ihrem Computer installieren lassen. LinuxHint verfügt über viele Artikel. Überprüfen Sie also LinuxHint unbedingt.Com für den Fall, dass Sie Probleme haben, Docker zu installieren.

Installieren von Docker Compose:

Öffnen Sie zum Installieren von Docker Compose einen Terminal und führen Sie den folgenden Befehl aus:

$ sudo curl -l "https: // github.com/docker/komponieren/veröffentlichen/download/1.24.1/
Docker-Compose-$ (uname -s)-$ (uname -m) "-O/usr/local/bin/docker-compose

Curl sollte Docker Compose Binary herunterladen. Es kann eine Weile dauern, bis es fertig ist.

Sobald der Download abgeschlossen ist, fügen Sie der ausführbaren Genehmigung zu der hinzu Docker-Compose Binärdatei mit dem folgenden Befehl:

$ sudo chmod +x/usr/local/bin/docker-compose

Überprüfen Sie nun, ob Docker-Compose Binär ist mit dem folgenden Befehl zugänglich:

$ docker-compose-Verssion

Wie du sehen kannst, Docker-Compose Binär funktioniert richtig.

Einrichten des MongoDB -Servers mit Docker Compose:

In diesem Abschnitt zeige ich Ihnen einen sehr einfachen MongoDB- und Mongo Express -Setup mit Docker Composer.

Erstellen Sie zunächst ein neues Projektverzeichnis Mongo-latest/ folgendermaßen:

$ mkdir mongo-latest

Navigieren Sie nun zur Mongo-latest/ Verzeichnis wie folgt:

$ cd mongo-latest/

Erstellen Sie nun eine neue Docker -Komponierungskonfigurationsdatei Docker-Compose.YML folgendermaßen:

$ nano docker-compose.YML

Geben Sie nun die folgenden Codes -Zeilen in der Datei ein Docker-Compose.YML.

Version: '3'
Dienstleistungen:
Mongo:
Bild: Mongo
Neustart: Immer
Häfen:
- "27017: 27017"
Mongo-Express:
Bild: Mongo-Express
Neustart: Immer
Häfen:
- "8081: 8081"

Hier definieren wir zwei Dienste, Mongo Und Mongo-Express. Der Mongo Der Service ist für den Start der Mongo (Bild) Docker -Container. Der Mongo Docker -Containerport 27017 wird an den Hafen weitergeleitet 27017 Auf Ihrem Host -Host. Der Mongo-Express Der Service ist für den Start der Mongo-Express (Bild) Docker -Container. Genauso, Port, Port 8081 wird an Port weitergeleitet 8081 auf dem Host der Docker.

Beide Dienste sollen neu gestartet werden (Neustart: Immer) beim Versagen.

Speichern Sie nun die Datei durch Drücken + X gefolgt von Y Und .

Führen Sie nun den folgenden Befehl aus:

$ docker -compose up -d

Wenn Sie diesen Befehl zum ersten Mal ausführen, kann es eine Weile dauern, bis die Dienste gestartet werden, da die Docker -Bilder von Docker Hub heruntergeladen werden.

Die Dienste sollten beginnen.

Besuchen Sie nun aus einem Webbrowser http: // localhost: 8081 und die Mongo Express -Webschnittstelle sollte angezeigt werden, wie Sie im Screenshot unten sehen können. Von hier aus können Sie MongoDB -Datenbanken verwalten, Daten zur Datenbank und vielem mehr hinzufügen.

Einrichten von MongoDB -Datenbankkennwort:

Wenn Sie ein MongoDB -Datenbankkennwort einrichten möchten, ist dieser Abschnitt für Sie vorhanden.

Stoppen Sie zunächst die Dienste von MongoDB und Mongo Express wie folgt:

$ docker-compose down

Bearbeiten Sie nun die Docker-Compose.YML Datei wie folgt:

$ nano docker-compose.YML

Fügen Sie nun den markierten Text (fett) unten zur Konfigurationsdatei hinzu Docker-Compose.YML.

Version: '3'
Dienstleistungen:
Mongo:
Bild: Mongo
Neustart: Immer
Häfen:
- "27017: 27017"
Umfeld:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: Geheimnis
Mongo-Express:
Bild: Mongo-Express
Neustart: Immer
Häfen:
- "8081: 8081"
Umfeld:
Me_config_mongodb_adminusername: root
ME_CONFIG_MONGODB_ADMINPASSWORD: Geheimnis

Der Mongo_initdb_root_username: root Und Mongo_initdb_root_password: Geheimnis im Mongo Der Serviceabschnitt wird verwendet, um den MongoDB -Benutzernamen festzulegen Wurzel und Passwort Geheimnis.

Der Me_config_mongodb_adminusername: root Und ME_CONFIG_MONGODB_ADMINPASSWORD: Geheimnis im Mongo-Express Der Serviceabschnitt wird verwendet, um Mongo Express den Benutzernamen zu verwenden Wurzel und Passwort Geheimnis Um eine Verbindung zum MongoDB -Server herzustellen.

Endgültige Konfigurationsdatei.

Beginnen Sie nun die Dienste wie folgt:

$ docker -compose up -d

Wie Sie sehen können, kann ich immer noch auf die Mongo Express -Weboberfläche zugreifen.

Ich habe das geändert Mongo-Express Passwort für etwas anderes als Geheimnis, Und wie Sie sehen, konnte ich mich nicht mit dem MongoDB -Server verbinden. Also funktioniert alles wie erwartet.

Speichern von MongoDB -Daten mithilfe von Volumes:

Standardmäßig speichern MongoDB -Container keine Daten. Wenn Sie möchten, dass Ihre MongoDB -Datenbankdaten bestehen bleiben, müssen Sie Docker -Volumes verwenden. Ich werde Ihnen zeigen, wie in diesem Abschnitt.

Beenden Sie zunächst die Dienste wie folgt:

$ docker-compose down

Fügen Sie nun den markierten (fettem) Abschnitt zu dem hinzu Docker-Compose.YML Datei.

Version: '3'
Dienstleistungen:
Mongo:
Bild: Mongo
Neustart: Immer
Häfen:
- "27017: 27017"
Umfeld:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: Geheimnis
Bände:
- Mongo-data:/data/dB
Mongo-Express:
Bild: Mongo-Express
Neustart: Immer
Häfen:
- "8081: 8081"
Umfeld:
Me_config_mongodb_adminusername: root
ME_CONFIG_MONGODB_ADMINPASSWORD: Geheimnis
Bände:
Mongo-Daten:

Hier habe ich einen neuen benannten Band definiert Mongo-Daten Dies spart die Daten vom Pfad /Daten/dB des Mongo Container.

Endgültige Konfigurationsdatei.

Beginnen Sie nun die Dienste wie folgt:

$ docker -compose up -d

Wie Sie sehen können, funktioniert die Mongo Express -Weboberfläche richtig.

Ich habe eine neue Datenbank erstellt mydb.

Starten Sie nun die Dienste wie folgt neu:

$ docker-compose Neustart

Wie Sie sehen können, auch nach dem Neustart des Neustarts Mongo (MongoDb) und Mongo-Express (Mongo Express) Dienste die mydb Die Datenbank ist noch verfügbar. Also hat es funktioniert.

Ändern des MongoDB -Containernamens:

Standardmäßig sollte der Name des MongoDB -Datenbankdienstes sein Mongo Damit Mongo Express arbeitet. Aber wenn Sie den Datenbankdienstnamen in etwas anderes wie ändern möchten wie MongoDB-Server, Dann müssen Sie das sagen Mongo-Express Service, den Sie die geändert haben Mongo Servicename zu etwas anderem.

Beenden Sie zunächst die Dienste wie folgt:

$ docker-compose down

Ändern Sie nun den markierten Text in die Docker-Compose.YML Konfigurationsdatei.

Version: '3'
Dienstleistungen:
MongoDB-Server:
Bild: Mongo
Neustart: Immer
Häfen:
- "27017: 27017"
Umfeld:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: Geheimnis
Bände:
- Mongo-data:/data/dB
Mongo-Express:
Bild: Mongo-Express
Neustart: Immer
Häfen:
- "8081: 8081"
Umfeld:
Me_config_mongodb_adminusername: root
ME_CONFIG_MONGODB_ADMINPASSWORD: Geheimnis
Me_config_mongodb_server: mongoDB-server
Bände:
Mongo-Daten:

Hier, Me_config_mongodb_server: mongoDB-server wird verwendet, um das zu sagen Mongo-Express Dienst, dass die Mongo Der Servicename wird in geändert MongoDB-Server.

Die endgültige Konfigurationsdatei.

Beginnen Sie nun die Dienste wie folgt:

$ docker -compose up -d

Wie Sie sehen können, funktioniert die Mongo Express -Weboberfläche noch.

Einstellen von Mongo Express Access -Passwort:

Standardmäßig fragt die Mongo Express Admin -Schnittstelle Sie nicht nach Anmeldeinformationen. Wenn Sie jedoch eine Benutzername- und Kennwortauthentifizierungsmethode einrichten möchten, ist dieser Abschnitt genau das Richtige für Sie.

Beenden Sie zunächst die Dienste wie folgt:

$ docker-compose down

Fügen Sie nun den markierten (fetten) Text zum dem hinzu Docker-Compose.YML Konfigurationsdatei.

Version: '3'
Dienstleistungen:
Mongo:
Bild: Mongo
Neustart: Immer
Häfen:
- "27017: 27017"
Umfeld:
Mongo_initdb_root_username: root
Mongo_initdb_root_password: Geheimnis
Bände:
- Mongo-data:/data/dB
Mongo-Express:
Bild: Mongo-Express
Neustart: Immer
Häfen:
- "8081: 8081"
Umfeld:
Me_config_mongodb_adminusername: root
ME_CONFIG_MONGODB_ADMINPASSWORD: Geheimnis
Me_config_basicauth_username: admin
Me_config_basicauth_password: Geheimnis
Bände:
Mongo-Daten:

Hier, Me_config_basicauth_username: admin Und Me_config_basicauth_password: Geheimnis wird verwendet, um es zu erzählen Mongo-Express Service zur Nutzung des Benutzernamens Administrator und das Passwort Geheimnis zur Authentifizierung.

Endgültige Konfigurationsdatei.

Beginnen Sie nun die Dienste wie folgt:

$ docker -compose up -d

Wenn Sie nun versuchen, die Mongo Express -Seite zu besuchen, werden Sie gebeten, sich mit Ihrem Benutzernamen und Ihrem Passwort zu authentifizieren.

Wenn Sie den richtigen Benutzernamen und das richtige Passwort angeben, dürfen Sie Mongo Express verwenden, um Ihre MongoDB -Datenbank zu verwalten.

Verweise:

Weitere Informationen finden Sie in den folgenden Links:
[1] Offizielle Docker -Hub -Seite von Mongo
[2] Offizielle Docker-Hub-Seite von Mongo-Express

So richten Sie einen MongoDB -Server mit Docker ein. Danke, dass du diesen Artikel gelesen hast.