For connecting to remote mongo (which started into container): 1. Pull mongo image from docker hub: docker pull mongo 2. Run image: docker run --name my_mongo -p 27017:27017 -d mongo 3. I connected to mongo from my nodejs app:
const MongoClient = require('mongodb').MongoClient;
const assert = require('assert');
// Connection URL
const url = 'mongodb://localhost:27017';
// Database Name
const dbName = 'myproject';
// Create a new MongoClient
const client = new MongoClient(url, { useUnifiedTopology: true });
// Use connect method to connect to the Server
client.connect(function(err) {
assert.equal(null, err);
console.log("Connected successfully to server");
const db = client.db(dbName);
client.close();
});
if mongodb is installed on dockerhost, you need to change mongod.conf settings, under net
change bindIp from 127.0.0.1 to 0.0.0.0 # this will accept remote connections
and change MONGODB_URI=mongodb://<YOURMACHINEIP>:27017/SampleDB