无法连接到dockerized MongoDB实例

我尝试在本地运行一个Seyren实例,并且我想使用dockerized的MongoDB 镜像 。 在我拉出最新的docker图像之后,我运行它并将27017端口暴露出来:

docker run --name mongodb -v /data/db:/data/db -p 27017:27017 -d mongo 

接下来要做的是编译seyren jar文件并传递一些variables。 docker.local映射到/etc/hosts docker工具箱的IP地址

 java -jar seyren-1.3.0.jar GRAPHITE_URL=https://graphiteurl.io MONGO_URL=mongodb://docker.local:27017 

但是,我得到以下错误:

30/03/2016 13:58:02.643 [localhost-startStop-1]

INFO com.seyren.mongo.MongoStore – 确保我们拥有所有我们需要的指标30/03/2016 13:58:12.661 [localhost-startStop-1]

错误com.seyren.mongo.MongoStore – 引导Mongo索引失败。 如果你遇到这个问题,你可能会有两个名字相同的检查,并且违反了我们试图添加的索引 。 请通过消除冲突来纠正问题。 如果是别的东西,请在Github上告诉我们!

com.mongodb.MongoTimeoutException:在等待与AnyServerSelector相匹配的服务器{}的10000毫秒后超时。 客户端视图的集群状态是{ java = {localhost:27017,type = Unknown,state = Connecting,exception= {com.mongodb.MongoException $ Network:打开套接字的exception} .net.ConnectException:连接拒绝 }}]

我在这里错过了什么?

编辑

当我编译seyren jar文件的时候。 我确实有一个在我的mongo实例中创build的seyren数据库…所以必须build立一个连接。

据我所知,你在Mac上使用docker工具箱。 Docker工具箱不在你的本地主机上运行(它运行在VBox虚拟机的实例中)。 你应该使用这台机器的IP而不是本地主机。 您可以在terminal中使用docker-machine env命令获取它。 DOCKER_HOST envvariables的IP将是你的mongoDB实例主机的IP地址。

find解决scheme。 我不得不使用mongo:2.7,因为这是唯一可行的。

Interesting Posts