title: Cant connect to docker mongodb
body: <p>I am have not used both docker and node a lot so I hope its a simple mistake. I am using docker compose. If I through a browser access, 
  <code>http://localhost:27017/</code> I get an:</p>
  
  <blockquote>
    <p>It looks like you are trying to access MongoDB over HTTP on the native
    driver port.</p>
  </blockquote>
  
  <p>Also logs suggest my mongodb is healty. Last line from when I tried to access through my browser I guess.</p>
  
  <blockquote>
    <p>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] recover : no journal files present, no recovery needed
    2017-01-25T21:11:13.546+0000 I JOURNAL  [durability] Durability thread
    started 2017-01-25T21:11:13.547+0000 I JOURNAL  [journal writer]
    Journal writer thread started 2017-01-25T21:11:13.568+0000 I CONTROL 
    [initandlisten] MongoDB starting : pid=1 port=27017 dbpath=/data/db
    64-bit host=150c248f4cc7 2017-01-25T21:11:13.568+0000 I CONTROL 
    [initandlisten] db version 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 11 Feb 2013
    2017-01-25T21:11:13.569+0000 I CONTROL  [initandlisten] build info:
    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] allocator: tcmalloc 2017-01-25T21:11:13.569+0000 I
    CONTROL  [initandlisten] options: {} 2017-01-25T21:11:13.573+0000 I
    NETWORK  [initandlisten] waiting for connections on port 27017
    2017-01-25T21:11:17.843+0000 I NETWORK  [initandlisten] connection
    accepted from 172.20.0.1:44148 #1 (1 connection now open)
    2017-01-25T21:11:17.843+0000 I NETWORK  [initandlisten] connection
    accepted from 172.20.0.1:44146 #2 (2 connections now open)
    2017-01-25T21:11:17.853+0000 I NETWORK  [conn2] end connection
    172.20.0.1:44146 (1 connection now open) 2017-01-25T21:11:17.998+0000 I NETWORK  [conn1] end connection 172.20.0.1:44148 (0 connections now
    open)</p>
  </blockquote>
  
  <p>So it looks that my mongodb is up running. When I in in my node application try to access it I get. </p>
  
  <blockquote>
    <p>{ MongoError: failed to connect to server [localhost:27017] on first
    connect
        at Pool. (/usr/src/app/node_modules/mongodb-core/lib/topologies/server.js:326:35)
        at emitOne (events.js:96:13)
        at Pool.emit (events.js:188:7)
        at Connection. (/usr/src/app/node_modules/mongodb-core/lib/connection/pool.js:270:12)
        at Object.onceWrapper (events.js:290:19)
        at emitTwo (events.js:106:13)
        at Connection.emit (events.js:191:7)
        at Socket. (/usr/src/app/node_modules/mongodb-core/lib/connection/connection.js:175:49)
        at Object.onceWrapper (events.js:290:19)
        at emitOne (events.js:96:13)   name: 'MongoError',   message: 'failed to connect to server [localhost:27017] on first connect' }</p>
  </blockquote>
  
  <p>My code trying to access the mongodb</p>
  
  <pre><code>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);
  </code></pre>
  
  <p>My docker-compose looks like this.</p>
  
  <pre><code>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"
  </code></pre>
  
  <p>Dockerfile for gh-api</p>
  
  <pre><code>FROM node:7.4-onbuild
  
  EXPOSE 8888
  </code></pre>