我有一个ubuntu docker。我安装了elasticsearch服务。
当我使用命令“curl -X GET'localhost:9200'”时,它会返回版本,名称,好吧。
这意味着弹性搜索配置正确,但是当我从浏览器访问我的浏览器时,它不起作用。
我已经在路径中的elasticsearch.yml文件上配置了网络: /etc/elasticsearch/elasticsearch.yml
我不知道原因。 当我启动docker时,我使用命令:
docker run -it -p 9200:9200 ubuntu / elastic
额外信息:elasticsearch在ubuntu中也是一个docker。我启动ubuntu,然后在ubuntu的容器中启动elasticsearch服务。
答案 0 :(得分:0)
您应该使用官方ELS泊坞窗图片,并使用文档中的命令。
来自 ELS documentation :
可以使用以下命令检索Docker镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:5.4.1
[...]
从命令行编辑
运行Elasticsearch开发modeedit
可以快速启动Elasticsearch进行开发或测试 使用以下命令:
docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1"
docker.elastic.co/elasticsearch/elasticsearch:5.4.1
答案 1 :(得分:0)
默认情况下,elasticsearch正在127.0.0.1
进行侦听,因此无法在容器外部访问。要在容器外部访问,您必须使用以下命令启动它:
docker run -p 9200:9200 -e "http.host=0.0.0.0" -e "transport.host=127.0.0.1" docker.elastic.co/elasticsearch/elasticsearch:5.4.1
这将使弹性搜索在所有IP地址0.0.0.0
上可用,然后您就可以访问它。可以找到详细信息here。