Can';无法连接到停靠的MongoDB实例

Can';无法连接到停靠的MongoDB实例,mongodb,docker,seyren,Mongodb,Docker,Seyren,我尝试在本地运行一个实例,我希望使用DockedMongoDB来实现。 拉取最新docker映像后,我运行它并暴露27017端口: docker run --name mongodb -v /data/db:/data/db -p 27017:27017 -d mongo 接下来要做的事情是编译seyren jar文件并向其传递一些变量。docker.local映射到/etc/hosts java -jar seyren-1.3.0.jar GRAPHITE_URL=https://graph

我尝试在本地运行一个实例,我希望使用DockedMongoDB来实现。 拉取最新docker映像后,我运行它并暴露27017端口:

docker run --name mongodb -v /data/db:/data/db -p 27017:27017 -d mongo
接下来要做的事情是编译seyren jar文件并向其传递一些变量。docker.local映射到
/etc/hosts

java -jar seyren-1.3.0.jar GRAPHITE_URL=https://graphiteurl.io MONGO_URL=mongodb://docker.local:27017
但是我得到了以下错误:

2016年3月30日13:58:02.643[localhost-startStop-1]

INFO com.seyren.mongo.MongoStore-确保我们拥有所需的所有指数2016年3月30日13:58:12.661[localhost-startStop-1]

错误 com.seyren.mongo.MongoStore-引导mongo时失败 索引如果遇到此问题,则可能有两个问题 名称相同且违反我们尝试过的索引的检查 要添加。请通过删除碰撞来更正问题。如果是 还有什么,请在Github上告诉我们

com.mongodb.MongoTimeoutException:10000毫秒后超时,而 正在等待与AnyServerSelector{}匹配的服务器。的客户端视图 群集状态为{type=Unknown,servers=[{address=localhost:27017, 类型=未知,状态=正在连接, 异常={com.mongodb.MongoException$Network:打开 套接字},由{java.net.ConnectException:连接被拒绝}]引起

我在这里错过了什么

编辑


编译seyren jar文件时的问题。我确实有一个
seyren
数据库,它是在我的mongo实例中创建的……因此必须建立连接。

据我所知,您正在Mac上使用docker toolbox。docker toolbox不是在本地主机中运行的(它是在VBox虚拟机的实例中运行的)。你应该使用这台机器的IP而不是本地主机。你可以使用终端中的
docker machine env
命令来获得它。
docker\u HOST
env变量的IP将是你的mongoDB实例主机的IP。

找到了解决方案。我不得不使用mongo:2.7映像,因为这是唯一可行的。

是mongoDB insta你开始真正地在本地主机上监听了吗?更重要的是:你是在使用Docker工具箱还是类似的?请添加
netstat-lntp | grep 27017
(或者
lsof-n-i:27017 | grep LISTEN
,如果你在Mac上)。见鬼。我想你指出了主要问题。我确实使用了Docker工具箱。当我在Mac上运行命令时(在我使用docker工具箱的地方)我什么都没有。在我的VM(Ubuntu 14.04)中,端口正在侦听。然而,即使在端口正在侦听(VM)时,它也无法工作,尽管seyren数据库是在mongo实例中创建的。另外,我如何在Mac(工具箱)中连接mongo实例您必须使用运行docker主机的vm的ip。您可以通过运行“docker machine ip default”来查找ip.mongodb将在该IPStill无法连接的端口27017上侦听:
未能引导Mongo索引
docker机器ip默认值
将仅返回默认docker Toolbox docker机器实例的ip。我确实执行了此操作,但仍有相同的错误(
无法引导Mongo索引
连接被拒绝
)这是seyren的问题。你可以在这里跟踪它。我检查了这一点。当我编译seyren jar文件时,我确实有一个
seyren
数据库,它是在我的Mongo实例中创建的……所以有一个连接!