我尝试使用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
),延迟消失了!
有什么想法吗?
答案 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。