我尝试在本地运行Seyren实例,我想使用dockerized MongoDB image来实现它。 后,我把最新的泊坞窗的形象,我运行它,并露出27017端口:无法连接到dockerized MongoDB实例
docker run --name mongodb -v /data/db:/data/db -p 27017:27017 -d mongo
接下来要做的就是编译seyren jar文件并将其传递一些变量。 docker.local被映射到泊坞窗工具箱的IP在/etc/hosts
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 [本地主机,startStop- 1]
信息com.seyren.mongo.MongoStore - 确保我们有我们需要30/03/2016 13的所有索引:58:12.661 [本地主机-startStop-1]
ERROR com.seyren .mongo.MongoSt矿石 - 引导Mongo 索引时失败。 如果你遇到了这个问题,可能有两个 检查被命名为相同,并且违反了我们试图用 添加的索引。请通过消除冲突来纠正问题。如果是 ,请在Github上告知我们!
com.mongodb.MongoTimeoutException:10000毫秒后超时,而 正在等待匹配AnyServerSelector {}的服务器。客户端视图 群集状态是{type = Unknown,servers = [{address = localhost:27017, type = Unknown,state = Connecting, exception = {com.mongodb.MongoException $ Network:Exception open opening the socket},造成{java.net.ConnectException:连接被拒绝}}]
我该怎么做我想在这里?
编辑:
当我编译seyren jar文件的事情。我确实有一个在我的mongo实例中创建的seyren
数据库...因此必须建立连接。
你开始真正在* localhost *上监听的MongoDB实例吗?更重要的是:你使用Docker Toolbox还是类似的?请添加'netstat -lntp |的输出grep 27017'(或者'lsof -n -i:27017 | grep LISTEN',如果你在Mac上)。 – ThatsNinja
地狱。我认为你指出了主要问题。我确实使用docker工具箱。 当我在MAC(我使用docker工具箱)中运行命令时,我什么都没有。在我的VM(Ubuntu 14.04)中,端口正在侦听。 尽管如此,即使端口正在侦听(VM),尽管在mongo实例中创建了seyren数据库,但它仍不起作用。另外,如何连接Mac中的mongo实例(工具箱) – Mornor
您必须使用运行docker主机的vm的ip。您可以通过运行“docker-machine ip default”来查找IP。 mongodb将在该端口上监听端口27017 IP – lamirap