MongoDB aus einem Docker-Container verfügbar machen

MongoDB aus einem Docker-Container verfügbar machen

Ich versuche, mein MongoDB, das in einem Docker-Container ausgeführt wird, von außen zugänglich zu machen.

Ich habe herausgefunden, dass es mit Docker Compose oder der Datei mongod.conf möglich sein sollte, die Host-Bindung dort festzulegen, aber da ich das offizielle MongoDB-Docker-Image verwende, habe ich kein Compose durchgeführt und kann die Conf-Datei auch nicht finden.

hier ist, was ich getan habe und was ich bisher versucht habe:

  1. ein Netzwerk geschaffen

Docker-Netzwerk erstellt meinen Mongo-Cluster

  1. habe 3 Mongo-DB-Instanzen ausgeführt

docker run --name mongo-node1 -d --net mein-mongo-cluster mongo --replSet "rs0" docker run --name mongo-node2 -d --net mein-mongo-cluster mongo --replSet "rs0" docker run --name mongo-node3 -d --net mein-mongo-cluster mongo --replSet "rs0"

  1. führte den ersten

    docker exec -it mongo-node1 mongo

  2. Richten Sie die Konfiguration für den Replikationssatz ein

konfiguration = { "_id" : "rs0", "Mitglieder" : [ { "_id" : 0, "Host" : "mongo-node1:27017" }, { "_id" : 1, "Host" : "mongo-node2:27017" }, { "_id" : 2, "Host" : "mongo-node3:27017" } ] }

rs.initiate(Konfiguration) rs.initialisieren

  1. einen Administratorbenutzer erstellt

    benutze admin db.createUser( { user: "admin", pwd: "admin", roles: [ { role: "userAdminAnyDatabase", db: "admin" }, >"readWriteAnyDatabase" ] } )

Ich habe versucht, die Container mit den folgenden Anweisungen auszuführen:

--expose=27017
--auth

--entrypoint 'mongod --bind_ip_all'

-> führt zu einem Fehler.

Es wird innerhalb von AWS ausgeführt und die eingehende Regel für 27017 ist korrekt eingerichtet.

Die Antwort ist immer:

couldn't connect to server ec2-52-59-191-1.eu-central-1.compute.amazonaws.com:27017, connection attempt failed: SocketException: Error connecting to ec2-52-59-191-1.eu-central-1.compute.amazonaws.com:27017 (52.59.191.1:27017) :: caused by :: No connection could be made because the target machine actively refused it. :

verwandte Informationen