Can';无法连接到停靠的MongoDB实例
我尝试在本地运行一个实例,我希望使用DockedMongoDB来实现。 拉取最新docker映像后,我运行它并暴露27017端口: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
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实例中创建的……所以有一个连接!