首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Docker在Azure VM上运行elasticsearch :无法通过localhost访问

使用Docker在Azure VM上运行elasticsearch :无法通过localhost访问
EN

Stack Overflow用户
提问于 2015-09-02 22:22:28
回答 1查看 941关注 0票数 0

我对elasticsearch和‘m都是新手(我是一名数据分析师,但我必须在azure云上设置elasticsearch,以便稍后进行分析);所以如果我的问题很愚蠢,请原谅我。我安装了可从Azure marketplace获得的elasticsearch的Docker容器。Elastcsearch已启动并正在运行,对分配的IP执行like操作会返回预期的结果,如下所示:

代码语言:javascript
复制
~$ curl 172.xx.x.x:9200
{
  "status" : 200,
  "name" : "Black Crow",
  "cluster_name" : "elasticsearch",
  "version" : {
    "number" : "1.7.1",
    "build_hash" : "b88f43fc40b0bcd7f173a1f9ee2e97816de80b19",
    "build_timestamp" : "2015-07-29T09:54:16Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.4"
  },
  "tagline" : "You Know, for Search"
}

我还下载了用于在虚拟机上测试开发的"head“插件。但是,我不能在localhost:9200上运行它。

~$ curl localhost:9200给出: curl:(7)无法连接到本地主机端口9200:连接被拒绝编辑:添加-p标志将本地主机的9200绑定到虚拟机的9200后,现在可以工作。但是仍然在浏览器上运行localhost:9200无法连接。假设ip地址是不可发现的。如何使其可被发现?

我尝试了像docker run -d -p 9200:9200 -p 9300:9300 -v $HOME/data:/data elasticsearch /elasticsearch/bin/elasticsearch (从http://www.codedependant.net/2015/01/17/install-elastic-search-plugins-through-docker/修改而来),但它不起作用。

我的$Home目录如下所示:

代码语言:javascript
复制
ls $HOME/*
/home/company/wget-log

/home/company/config:

/home/company/data:
elasticsearch.yml  plugins

/home/company/es:
plugins

(上面的文件夹包含插件,而不是/data中的其他“插件”文件夹)

代码语言:javascript
复制
/home/company/esdata:
elasticsearch

任何帮助都将不胜感激。非常感谢

EN

回答 1

Stack Overflow用户

发布于 2015-09-03 01:42:05

所以,你提到了浏览器。通常,您可以从本地计算机上运行浏览器。在这种情况下,在Windows10机器上,'localhost‘永远不会解析为Docker容器。您的docker容器不能直接在windows上运行,因此必须在其他地方运行。

如果你在你的azure虚拟机上运行你的docker命令,你应该去http:<azure vm ip>:9200。如果你在你的机器上运行它们,使用docker机器或boot2docker瞄准安装在你笔记本电脑上的Docker引擎,它应该是http:<local vm ip>:9200

如果在本地运行,则可以使用boot2docker ipdocker-machine ls获取该计算机的ip

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32355764

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档