1.1 拉取镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.8.0
1.2 运行容器
ElasticSearch的默认端口是9200,我们把宿主环境9200端口映射到Docker容器中的9200端口,就可以访问到Docker容器中的ElasticSearch服务了,同时我们把这个容器命名为es。
docker run -d --name es -p 9200:9200 -p 9300:9300 -v /data/elasticsearch/data:/usr/share/elasticsearch/data -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms512m -Xmx512m" docker.elastic.co/elasticsearch/elasticsearch:6.8.0
1.3 配置跨域
1.3.1 进入容器
由于要进行配置,因此需要进入容器当中修改相应的配置信息。
docker exec -it es /bin/bash
1.3.2 进行配置
-
显示文件
ls
结果如下:
LICENSE.txt README.textile config lib modules
NOTICE.txt bin data logs plugins -
进入配置文件夹
cd config -
显示文件
ls
结果如下:
elasticsearch.keystore ingest-geoip log4j2.properties roles.yml users_roles
elasticsearch.yml jvm.options role_mapping.yml users -
修改配置文件
vi elasticsearch.yml -
加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"
2.3 重启容器
由于修改了配置,因此需要重启ElasticSearch容器。
docker restart es
{
name: "RZjX-TR",
cluster_name: "docker-cluster",
cluster_uuid: "2zHF2S5tTkKhNHbUp44KaA",
version: {
number: "6.8.0",
build_flavor: "default",
build_type: "docker",
build_hash: "65b6179",
build_date: "2019-05-15T20:06:13.172855Z",
build_snapshot: false,
lucene_version: "7.7.0",
minimum_wire_compatibility_version: "5.6.0",
minimum_index_compatibility_version: "5.0.0"
},
tagline: "You Know, for Search"
}
这时已经可以访问服务了
Docker 部署 ElasticSearch-Head
为什么要安装ElasticSearch-Head呢,原因是需要有一个管理界面进行查看ElasticSearch相关信息
2.1 拉取镜像
docker pull mobz/elasticsearch-head:5
2.2 运行容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5