Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

254
Visualizações
Conexión al contenedor mongo usando el nodo obteniendo MongoError

Por alguna razón, no pude hacer que funcionara usando otras publicaciones de stackoverflow sobre este tema. Recibo: MongoError: failed to connect to server [localhost:27017] on first connect .

Inicié mi contenedor docker y verifiqué si mongo estaba funcionando:

 $ docker run --name my-mongo -d mongo $ docker exec -it my-mongo bash # mongo MongoDB shell version v3.4.2 connecting to: mongodb://127.0.0.1:27017 MongoDB server version: 3.4.2 Server has startup warnings: 2017-03-19T01:23:53.047+0000 I STORAGE [initandlisten] 2017-03-19T01:23:53.047+0000 I STORAGE [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine 2017-03-19T01:23:53.047+0000 I STORAGE [initandlisten] ** See http://dochub.mongodb.org/core/prodnotes-filesystem 2017-03-19T01:23:53.290+0000 I CONTROL [initandlisten] 2017-03-19T01:23:53.290+0000 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2017-03-19T01:23:53.290+0000 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2017-03-19T01:23:53.290+0000 I CONTROL [initandlisten] > db.col.insert({"a":1}) > db.col.find() { "_id" : ObjectId("58cde45479f772a8ea882ee1"), "a" : 1 }

Salí y luego inicié el nodo en mi terminal OSX e intenté conectarme:

 $ node > var mongoose = require("mongoose"); > mongoose.connect("mongodb://localhost:27017"); mongoose {...} > MongoError: failed to connect to server [localhost:27017] on first connect ...

Probé muchas otras URL:

 mongoose.connect("mongodb://localhost:27017/test"); mongoose.connect("mongodb://localhost/test"); mongoose.connect("mongodb://127.0.0.1:27017");

Entonces, solo intento conectarme a un contenedor mongodb que se ejecuta en docker para mac e intentar conectarme usando nodejs. ¿Cómo puedo conseguir esto?

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Gracias Nehal por el comentario.

La respuesta se encuentra aquí https://docs.docker.com/docker-for-mac/networking/#known-limitations-use-cases-and-workarounds

Básicamente, no puede ver una interfaz docker0 en macOS, lo que significa que no puede enrutar el tráfico a los contenedores. Sin embargo, eso se puede resolver mediante el reenvío de puertos.

Todo lo que tengo que cambiar es el comando de ejecución de la ventana acoplable:

 docker run -d -p 27017:27017 --name my-mongo mongo

Esto significa que expone el puerto de Linux, que es Docker en este caso, y lo reenvía a su Mac ( -p ). El indicador -d ejecuta el proceso en segundo plano.

Luego mongoose.connect("mongodb://localhost:27017/test"); Deberia trabajar.

about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda