docker-node-mongo icon indicating copy to clipboard operation
docker-node-mongo copied to clipboard

Cant connect to existing mongo container

Open guitar9 opened this issue 7 years ago • 2 comments

here is my docker-compose.yml:

version: '3'
services:
  app:
    container_name: docker-node-mongo
    restart: always
    build: .
    ports:
      - '3001:3000'
#    external_links:
#      - mongo
#  mongo:
#    container_name: mongo
#    image: mongo
#    ports:
#      - '27017:27017'

my index.js

mongoose
  .connect(
    'mongodb://127.0.0.1:27017/test2',
    { useNewUrlParser: true }
  )
  .then(() => console.log('MongoDB Connected'))
  .catch(err => console.log("errorErrorError"));

and this when i run docker container ls -a

6f14a98e2d51        dockernodemongo_app       "npm start"              7 minutes ago       Up 7 minutes            0.0.0.0:3001->3000/tcp                     docker-node-mongo

f3fb55dad886        mongo                     "docker-entrypoint.s…"   19 minutes ago      Up 19 minutes           127.0.0.1:27017->27017/tcp                 mongo

this is the error when i type docker logs docker-node-mongo

Server running...
{ MongoNetworkError: failed to connect to server [mongo:27017] on first connect [MongoNetworkError: getaddrinfo EAI_AGAIN mongo mongo:27017]
    at Pool.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/topologies/server.js:562:11)
    at Pool.emit (events.js:182:13)
    at Connection.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/pool.js:316:12)
    at Object.onceWrapper (events.js:273:13)
    at Connection.emit (events.js:182:13)
    at Socket.<anonymous> (/usr/src/app/node_modules/mongodb-core/lib/connection/connection.js:245:50)
    at Object.onceWrapper (events.js:273:13)
    at Socket.emit (events.js:182:13)
    at emitErrorNT (internal/streams/destroy.js:82:8)
    at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)
    at process._tickCallback (internal/process/next_tick.js:63:19)
  name: 'MongoNetworkError',
  message:
   'failed to connect to server [mongo:27017] on first connect [MongoNetworkError: getaddrinfo EAI_AGAIN mongo mongo:27017]',
  errorLabels: [ 'TransientTransactionError' ],
  [Symbol(mongoErrorContextSymbol)]: {} }

guitar9 avatar Nov 13 '18 18:11 guitar9

If you already have existing mongodb container make sure you have

external_links:
  - mongo

in your dockerfile, then just connect to it as mongodb://mongo:27017/test2

radek3911 avatar Nov 23 '18 17:11 radek3911

this just helped me. Thanks

Esom avatar Feb 24 '20 21:02 Esom