I have not used both dockers and node a lot, so I hope this is a simple mistake. I am using docker compose. If I access the browser, http://localhost:27017/ I get:
It looks like you are trying to access MongoDB via HTTP on the driver's native port.
In addition, magazines show that my mongodb is healed. The last line I tried to access through my browser, I think.
2017-01-25T21: 11: 13.509 + 0000 i JOURNAL [initandlisten] journal dir = / data / db / journal 2017-01-25T21: 11: 13.509 + 0000 i JOURNAL [initandlisten] restore: no log files, no recovery needed 2017-01-25T21: 11: 13.546 + 0000 I JOURNAL [durability] Strength of the thread started 2017-01-25T21: 11: 13.547 + 0000 I JOURNAL [journal author] The journal entry flow started 2017-01-25T21: 11: 13.568 + 0000 i CONTROL [initandlisten] MongoDB start: pid = 1 port = 27017 dbpath = / data / db 64-bit host = 150c248f4cc7 2017-01-25T21: 11: 13.568 + 0000 i CONTROL [initandlisten] version db v3.0.2 2017- 01-25T21: 11: 13.568 + 0000 i CONTROL [initandlisten] git version: 6201872043ecbbc0a4cc169b5482dcf385fc464f 2017-01-25T21: 11: 13.569 + 0000 i CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e February 11, 2013 2017- 01-25T21: 11: 13.569 + 0000 i CONTROL [initandlisten] assembly information: Linux ip-10-171-120-232 3.2.0-4-amd64 # 1 SMP Debian 3.2.46-1 x86_64 BOOST_LIB_VERSION = 1_49 2017- 01-25T21: 11: 13.569 + 0000 i CONTROL [initandlisten] distributor: tcmalloc 2017-01-25T21: 11: 13.569 + 0000 i CONTROL [initandlisten] parameters: {} 2017-01-25T21: 11: 13.573 + 0000 i NETWORK [initandlisten] is waiting for connection to port 27017 2017-01-25T21: 11: 17.843 + 0000 i NETWORK [initandlisten] connection accepted from 172.20.0.1:44148 # 1 (1 connection open) 2017-01-25T21: 11: 17.843 + 0000 I am a NETWORK [initandlisten] connection accepted from 172.20.0.1:44146 # 2 (now 2 connections are open) -01-25T21: 11: 17.998 + 0000 i NE TWORK [conn1] end connection 172.20.0.1:44148 (0 connections open now)
So it looks like my mongodb is working. When I try to access it in my node application, I get.
{MongoError: failed to connect to server [localhost: 27017] when connecting to the pool for the first time. (/ usr / src / app / node_modules / mongodb-core / lib / topologies / server.js: 326: 35) on emitOne (events.js: 96: 13) in Pool.emit (events.js: 188: 7) when connected. (/usr/src/app/node_modules/mongodb-core/lib/connection/pool.js:270:12) in Object.onceWrapper (events.js: 290: 19) on emitTwo (events.js: 106: 13) in Connection.emit (events.js: 191: 7) in Socket. (/usr/src/app/node_modules/mongodb-core/lib/connection/connection.js:175:49) in Object.onceWrapper (events.js: 290: 19) at emitOne (events.js: 96: 13) name: 'MongoError', message: 'failed to connect to server [localhost: 27017] on first connection'}
My code is trying to access mongodb
const express = require('express'); const gh = require('./src/fetch'); const MongoClient = require('mongodb').MongoClient; const url = 'mongodb://localhost:27017/myApp'; // Constants const PORT = 8888; // App const app = express(); app.get('/', function (req, res) { MongoClient.connect(url, function (err, db) { if (err) { console.log(err); } else { console.log("Connected correctly to server"); db.close(); } }); res.send('Hello world\n'); }); app.listen(PORT); console.log('Running on http://localhost:' + PORT);
My docker layout looks like this.
version: '2' services: web: image: gh-api ports: - "8888:8888" environment: - KEY=abc restart: always links: - mongoDB depends_on: - mongoDB mongoDB: image: mongo:3.0.2 ports: - "27017:27017"
Docker file for gh-api
FROM node:7.4-onbuild EXPOSE 8888