Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

372
Vistas
MongoServerError: la autenticación falló al usar mongo y mongo express con contenedores docker

Estoy aprendiendo docker, así que estaba siguiendo uno de los videos que mostraba cómo conectar su aplicación js con mongoDB cuando se ejecuta en contenedores docker. Ahora, una pequeña variación que hice es que se muestra para conectar mongo en el puerto del sistema 27017, que es el puerto predeterminado de mongo, pero el problema es que no quiero conectarme a mi sistema mongo instalado sino al contenedor mongo, así que para ese propósito decidí ejecute el contenedor mongo en el puerto 3535. Cuando lo hice, mongo-express se conectó con éxito a mongo, pero cuando intento conectarlo con mi aplicación js (usando mongoose), muestra continuamente errores con el error de autenticación. He verificado que la contraseña es correcta. no hay problema con los corchetes, el comando que usé para subir mis contenedores docker es

docker run -d -p 3535:27017 --name mongoDB --network databases -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin mongo

y otro para mongo-express es

docker run -d -p 8081:8081 --name mongoExp --network databases -e ME_CONFIG_BASICAUTH_USERNAME=admin -e ME_CONFIG_BASICAUTH_PASSWORD=admin -e ME_CONFIG_MONGODB_SERVER=mongoDB -e ME_CONFIG_MONGODB_AUTH_USERNAME=admin -e ME_CONFIG_MONGODB_AUTH_PASSWORD=admin mongo-express

El código de mi aplicación de nodo se ve así

 const mongoose = require('mongoose'); const {Humans}= require("./models/humans.js") mongoose.connect('mongodb://admin:admin@localhost:3535/user', {useNewUrlParser: true, useUnifiedTopology: true }).then(()=>{ console.log("connected to db"); }) let data={ name:"Vaibhav Jain", mob:"9801", skills:"coding" } const express = require('express') const app = express(); app.set('view engine', 'ejs'); app.get("/",async(req,res)=>{ // console.log(Humans); // await Humans.insertMany( ); // await Humans.insertMany({name:"Mobius" , mob:"5908922",skills:"drawing"}); const result = await Humans.find(); res.send(result); }) app.get("/home",(req,res)=>{ res.render("home", data); }) app.listen(3000,()=>{ console.log("listening port"); })
También una cosa que me gustaría mencionar: he creado una base de datos de usuarios que tiene una colección humana, todo esto lo creé desde la interfaz de usuario, pero quería conectarlo a mi aplicación usando mangosta, por lo que ese humano que se muestra como importado es en realidad esquema vacío (lea eso desde algún lugar donde puede usar colecciones existentes de tal manera, corríjame en esta parte también si me equivoco) Solo como referencia actual, mi ventana acoplable está en este estado ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Es posible que no haya creado un usuario para el usuario de la base de user después de crearlo mediante la interfaz de usuario. En su caso, puede ejecutar esta consulta para crear un usuario normal.
> use user
> db.createUser({user: "user", pwd: "user", roles:["dbOwner"]})
Después de eso, puede conectarse a la base de datos de user usando esta cadena mongodb://user:user@localhost:3535/user

Consulte el documentodb.CreateUser .

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda