无法从 docker 容器访问 elasticsearch

Not able to access elasticsearch from docker container

弹性搜索在 docker 容器上成功 运行。但我无法在浏览器中访问。我正确映射端口。但问题出在 docker 容器中。在容器中,elasticsearch 映射到 localhost

127.0.0.1:9200
Dokcerfile
来自 ubuntu:16.04 维护者 Rajesh Gurram

运行 apt-get 更新 && \ apt-get install -y net-tools curl wget gnupg 运行 apt-get install -y software-properties-common

运行 add-apt-repository ppa:webupd8team/java && \ 易于获取更新 && \ echo oracle-java7-installer shared/accepted-oracle-license-v1-1 select 真 | /usr/bin/debconf-set-selections && \ apt-get install -y oracle-java8-installer && apt-get clean

ENV JAVA_HOME /usr/lib/jvm/java-8-oracle

运行 apt-get 安装 apt-transport-https 运行 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key 添加 - && \ 回声 "deb https://artifacts.elastic.co/packages/6.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-6.x.list && \ apt update && apt install -y elasticsearch

运行 sed -i 's/#network.host: 192.168.0.1/network.host: 0.0.0.0/g' /etc/elasticsearch/elasticsearch.yml

曝光 9200 9300

运行 在主机上执行以下命令将解决问题
$ sysctl -w vm.max_map_count=262144

如果想使用docker获取Elasticsearch实例,可以阅读以下指南:
https://www.elastic.co/guide/en/elasticsearch/reference/current/docker.html

如果 ubuntu 不是必需的基本图像,您也可以直接使用来自 elastic 的 docker 图像:
https://www.docker.elastic.co/

如果您想稍后升级到 ELK Stack,我建议使用 docker 卷以实现持久性目的。