Node.js 从节点到mongodb的连接速度慢

Node.js 从节点到mongodb的连接速度慢,node.js,mongodb,docker,Node.js,Mongodb,Docker,我正在使用docker进行实验,并反映出从nodejs(4.2.3)容器到mongodb(3.2)容器的连接非常缓慢 我的设置非常基本,如下(docker compose): 我的s.o.是OSX 10.10,docker版本是1.10.2 奇怪的是,到db的连接时间总是30秒 有自动延迟吗 编辑: 如果我将mongodb容器的ip地址设置为“dns”(mongodb),延迟就会消失 有什么想法吗?这并不能完全解决问题,但可以让您恢复正常行为。 原因似乎是docker compose.yml的第

我正在使用docker进行实验,并反映出从nodejs(4.2.3)容器到mongodb(3.2)容器的连接非常缓慢

我的设置非常基本,如下(docker compose):

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

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

有自动延迟吗

编辑:

如果我将mongodb容器的ip地址设置为“dns”(
mongodb
),延迟就会消失


有什么想法吗?

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

原因似乎是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

我打开了一个问题。

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

原因似乎是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

我打开了一个问题。

节点应用程序的连接字符串是什么?是通过IP地址还是通过DNS中查找的名称?对于后者,慢速连接通常是一个反向查找区域问题,其中没有定义此类条目。在这种情况下,这不是真正的编程问题。url字符串是
mongodb://mongodb:27017/dockertest
阅读文档docker这是推荐的方法。节点应用程序的连接字符串是什么?是通过IP地址还是通过DNS中查找的名称?对于后者,慢速连接通常是一个反向查找区域问题,其中没有定义此类条目。在这种情况下,这不是真正的编程问题。url字符串是
mongodb://mongodb:27017/dockertest
阅读文档docker这是推荐的方法。