Estou tentando expor meu mongodb que está sendo executado em um contêiner docker para ser acessível externamente.
Eu descobri que deveria ser possível com o docker compose ou o arquivo mongod.conf definir a ligação do host lá, mas como eu uso a imagem oficial do docker do mongodb, não fiz uma composição e não consigo encontrar o arquivo conf também.
aqui está o que eu fiz e o que tentei até agora:
- criou uma rede
rede docker criar meu-mongo-cluster
- executou 3 instâncias do mongo db
docker run --name mongo-node1 -d --net meu-mongo-cluster mongo --replSet "rs0" docker run --name mongo-node2 -d --net meu-mongo-cluster mongo --replSet "rs0" docker run --name mongo-node3 -d --net my-mongo-cluster mongo --replSet "rs0"
executou o primeiro
docker exec -it mongo-node1 mongo
definir a configuração do conjunto de réplicas
config = { "_id": "rs0", "membros": [ { "_id": 0, "host": "mongo-node1:27017" }, { "_id": 1, "host": "mongo- node2:27017" }, { "_id": 2, "host": "mongo-node3:27017" } ] }
rs.initiate(config) rs.initialize
criou um usuário administrador
use admin db.createUser ({usuário: "admin", pwd: "admin", funções: [ {função: "userAdminAnyDatabase", banco de dados: "admin" }, >"readWriteAnyDatabase" ] } )
Tentei executar os contêineres com as seguintes instruções:
--expose=27017
--auth
--entrypoint 'mongod --bind_ip_all'
-> leva a um erro.
ele está sendo executado na AWS e a regra de entrada para 27017 está configurada corretamente.
A resposta é sempre:
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. :