ein. Sie können Umgebungsvariablen über das Terminal verwenden:
$ docker run -d --name container_name \
-e MONGO_INITDB_ROOT_USERNAME=admin \
-e MONGO_INITDB_ROOT_PASSWORD=password \
mongo
Wenn Sie testen möchten, ob alles funktioniert:
$ docker exec -it mongo /bin/bash
$ mongo
$> use admin
$> db.auth("admin", passwordPrompt())
$> show dbs
Wenn Sie eine Datenbank beim ersten Ausführen instanziieren möchten, aktivieren Sie die Option b.
b. Sie können Umgebungsvariablen in Ihrer Docker-Stack-Bereitstellungsdatei verwenden oder eine Datei für die Versionen 3.4 bis 4.1 erstellen.
Da es auf dem Schnellreferenzteil des erläutert offiziellen Mongo BildsatzesMONGO_INITDB_ROOT_USERNAME
und MONGO_INITDB_ROOT_PASSWORD
in Ihrer YAML - Datei:
mongo:
image: mongo
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
Die Datei docker-entrypoint.sh im Mongo-Image prüft, ob diese beiden Variablen vorhanden sind, und setzt das --auth
Flag entsprechend.
c. Sie können auch Docker-Geheimnisse verwenden.
MONGO_INITDB_ROOT_USERNAME
und MONGO_INITDB_ROOT_PASSWORD
wird indirekt von docker-entrypoint.sh von MONGO_INITDB_ROOT_USERNAME_FILE
und MONGO_INITDB_ROOT_PASSWORD_FILE
Variablen festgelegt:
mongo:
image: mongo
environment:
- MONGO_INITDB_ROOT_USERNAME_FILE=/run/secrets/db_root_username
- MONGO_INITDB_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
secrets:
- db_root_username
- db_root_password
docker-entrypoint.sh konvertiert MONGO_INITDB_ROOT_USERNAME_FILE
und MONGO_INITDB_ROOT_PASSWORD_FILE
nach MONGO_INITDB_ROOT_USERNAME
und MONGO_INITDB_ROOT_PASSWORD
.
Sie können MONGO_INITDB_ROOT_USERNAME
und MONGO_INITDB_ROOT_PASSWORD
in Ihrem .sh
oder .js
Skripten im docker-entrypoint-initdb.d
Ordner verwenden, während Sie die Datenbankinstanz initialisieren.
Wenn ein Behälter zum ersten Mal gestartet wird es Dateien mit den Erweiterungen ausgeführt wird .sh
und .js
dass gefunden werden /docker-entrypoint-initdb.d
. Dateien werden in alphabetischer Reihenfolge ausgeführt. .js
Dateien werden von Mongo unter Verwendung der von der MONGO_INITDB_DATABASE
Variablen angegebenen Datenbank ausgeführt , sofern vorhanden, oder auf andere Weise getestet. Sie können auch die Datenbank innerhalb des .js
Skripts wechseln .
Diese letzte Methode befindet sich nicht in den Referenzdokumenten, sodass sie ein Update möglicherweise nicht überlebt.