„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > Wie verbinde ich eine Dockerized Go-Anwendung mit einer lokalen MongoDB-Datenbank?

Wie verbinde ich eine Dockerized Go-Anwendung mit einer lokalen MongoDB-Datenbank?

Veröffentlicht am 18.11.2024
Durchsuche:792

How to Connect a Dockerized Go Application to a Local MongoDB Database?

Lokale MongoDB-Datenbank mit Docker Go-Anwendung verbinden

Beim Versuch, eine Dockerized Go-Anwendung mit einer lokalen MongoDB-Datenbank zu verbinden, kann es vorkommen, dass Folgendes auftritt: Fehler „Keine erreichbaren Server“. Dieses Problem ist auf die von Docker erstellte isolierte Netzwerkumgebung zurückzuführen, in der der Container eine eigene IP-Adresse hat.

Um dieses Problem zu beheben, müssen Sie eine Kommunikation zwischen dem Container und dem Host-Computer herstellen. Docker stellt zu diesem Zweck eine spezielle URL bereit: host.docker.internal.

Angenommen, Ihre MongoDB-Instanz läuft auf dem Host-Computer und ist an alle Schnittstellen gebunden, können Sie aus dem Docker-Container heraus wie folgt eine Verbindung zu ihr herstellen Verbindungszeichenfolge:

mongodb://host.docker.internal:21017/database

Ersetzen Sie „Datenbank“ durch den Namen Ihrer MongoDB-Datenbank.

Durch die Verwendung von host.docker.internal als Hostnamen stellen Sie eine Verbindung zwischen dem Container und der Datenbank her, die auf dem Hostcomputer ausgeführt wird. Denken Sie daran, dass der Container keinen direkten Zugriff auf die lokale IP-Adresse des Hosts hat, daher müssen Sie host.docker.internal als Proxy verwenden.

Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3