MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Docker-Compose, um Django mit Mongodb auszuführen

Ich bin auf ein ähnliches Problem gestoßen, aber mit einem anderen Dienst (nicht MongoDB). Ich bin mir nicht sicher, was ich falsch mache, aber so könnte ich es lösen:

import os
import mongoengine

MONGODB_HOST = os.environ.get('DB2_PORT_27017_TCP_ADDR', '127.0.0.1')
mongoengine.connect(host=MONGODB_HOST)
  • Mit DB2 der Name Ihres Dienstes in docker-compose.yml ist
  • 27017 der Port des exponierten Dienstes ist.
  • Mehr über docker-compose-Umgebungsvariablen
  • Ich würde das in meine Einstellungsdatei schreiben. Es steht Ihnen jedoch frei, es je nach Ihrer Projektarchitektur dort zu platzieren, wo Sie es für angemessen halten.

AKTUALISIEREN

Docker-Compose-Container sind jetzt für andere Dienste erreichbar, die einen Hostnamen verwenden, der ihrem Alias ​​ähnelt. Link-Dokumentation :

Und auf diese Weise können Sie sich wie folgt mit MongoDB verbinden:

import mongoengine

mongoengine.connect(host="db2")