Tengo una base de datos MongoDB configurada en mi servidor host y un contenedor docker ejecutándose en ese host con una aplicación NodeJS. En esa aplicación, trato de conectarme a la base de datos en el host, pero la solicitud siempre se agota.
Configuré la red como "host" y usé la dirección "host.docker.internal". ¡También intenté instalar mongodb-shell y realmente funciona! Entonces, básicamente, puedo conectarme a la base de datos con el shell en el contenedor pero no con la API de MongoDB NodeJS.
Código de la aplicación NodeJS:
const mongodb = require('mongodb'); mongodb.MongoClient.connect("mongodb://host.docker.internal:27017/"); usando mongo mongodb://host.docker.internal:27017/ en el shell funciona y me conecto correctamente.
Finalmente descubrí el problema. Tuve que vincularlo a las IP correctas / en mi configuración usé el argumento --bind_ip_all .
¡Muchas gracias por la ayuda!