Ich arbeite mit Docker und habe einen Stack mit PHP, MySQL, Apache und Redis. Ich muss MongoDB jetzt hinzufügen, also habe ich die Dockerfile für die neueste Version und auch überprüft die Datei docker-entrypoint.sh von MongoDB Dockerhub aber ich konnte keinen Weg finden, um eine Standard-DB, Admin-Benutzer / Passwort und möglicherweise Auth-Methode für den Container aus Eine docker-compose.yml
-Datei.
In MySQL können Sie einige ENV-Variablen einrichten, zum Beispiel:
%Vor% Und dies wird die DB und den Benutzer / das Passwort als root
Passwort einrichten.
Gibt es eine Möglichkeit, dasselbe mit MongoDB zu erreichen? Jeder hat etwas Erfahrung oder Workaround?
Das offizielle mongo
image hat hat eine PR integriert, um die Funktionalität hinzuzufügen , um Benutzer und Datenbanken beim Start zu erstellen.
Die Initialisierung der Datenbank wird ausgeführt, wenn im Verzeichnis /data/db
nichts eingetragen ist.
Die Umgebungsvariablen zur Steuerung des Benutzer-Setups "root" sind
MONGO_INITDB_ROOT_USERNAME
MONGO_INITDB_ROOT_PASSWORD
Beispiel
%Vor% Sie müssen --auth
nicht in der Befehlszeile verwenden / können nicht, da das Skript docker entrepoint.sh dies hinzufügt, wenn die Umgebungsvariablen vorhanden sind.
Das Image stellt außerdem den /docker-entrypoint-initdb.d/
-Pfad zur Verfügung, um benutzerdefinierte .js
- oder .sh
-Setup-Skripts bereitzustellen, die einmal bei der Initialisierung der Datenbank ausgeführt werden. .js
-Skripts werden standardmäßig für test
oder MONGO_INITDB_DATABASE
ausgeführt, wenn sie in der Umgebung definiert sind.
oder
%Vor%Eine einfache JavaScript-Initialisierungsdatei, die die Protokollierung und das Beenden mit einem Fehler (für die Ergebnisüberprüfung) demonstriert.
%Vor% Falls jemand nach der Konfiguration von MongoDB mit Authentifizierung mittels docker-compose
sucht, folgt hier eine Beispielkonfiguration mit Umgebungsvariablen:
Wenn Sie docker-compose up
ausführen, wird Ihre Mongo-Instanz automatisch mit aktivierter Authentifizierung ausgeführt. Sie haben eine Admin-Datenbank mit dem angegebenen Passwort.
Tags und Links mongodb docker docker-compose