从节点到mongodb的连接速度很慢

时间:2016-03-03 10:35:06

标签: node.js mongodb docker

我尝试使用docker并反映了从nodejs(4.2.3)容器到mongodb(3.2)容器的非常慢的连接。

我的设置,非常基本,就是这个(docker-compose):

version: '2'

services:
  web:
    build: ./app
    volumes:
      - "./app:/src/app"
    ports:
      - "80:3000"
    links:
      - "db_cache:redis"
      - "db:mongodb"
    command: nodemon -L app/bin/www

  db_cache:
    image: redis
  db:
    image: mongo

我的s.o.是OSX 10.10,docker版本是1.10.2。

奇怪的是,到db的连接时间总是30秒。

有自动延迟吗?

修改

如果我设置了mongodb容器的ip地址,那么" dns" (mongodb),延迟消失了!

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

这并不能完全解决问题,但它可以让您恢复正常行为。

原因似乎是docker-compose.yml的第2版。

如果我删除版本2完全消除了连接到mongodb时的30秒延迟:

web:
  build: ./app
  volumes:
    - "./app:/src/app"
  ports:
    - "80:3000"
  links:
    - "db_cache:redis"
    - "db:mongodb"
  command: nodemon -L app/bin/www

db_cache:
  image: redis
db:
  image: mongo

我打开了一个问题here