一、使用docker 简单部署 ElasticSearch

(1)首先要拉取镜像


[root@localhost ~]# docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2



如果下载超时,尝试下6.5.0版本


docker pull elasticsearch:6.5.0




查看镜像执行docker images


(2)运行容器

​ElasticSearch​​​的默认端口是9200,我们把宿主环境9200端口映射到​​Docker​​​容器中的9200端口,就可以访问到​​Docker​​​容器中的​​ElasticSearch​​​服务了,同时我们把这个容器命名为​​es​​。


[root@localhost ~]# docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2



(3)配置跨域,不然外界浏览器访问不了。

进入容器

由于要进行配置,因此需要进入容器当中修改相应的配置信息。


[root@localhost ~]# docker exec -it es /bin/bash



然后进入配置文件


[root@b38744e49e25 elasticsearch]# cd config



执行ls 或者 ll查看文件,我们可以看到 elasticsearch.yml 配置文件

然后修改elasticsearch.yml 文件


[root@b38744e49e25 config]# vi elasticsearch.yml



# 加入跨域配置
http.cors.enabled: true
http.cors.allow-origin: "*"



最后重启容器

由于修改了配置,因此需要重启​​ElasticSearch​​容器。

首先退出容器或者重新开发窗口再重启ES


[root@localhost ~]# docker restart es



浏览器访问如下:

ip+端口(9200)

使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_docker



 二、Docker 部署 ElasticSearch-Head

(1)拉取镜像


[root@localhost ~]# docker pull mobz/elasticsearch-head:5



(2)运行容器


[root@localhost ~]# docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5


使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_elasticsearch_02

​ElasticSearch​​​的默认端口是9200,我们把宿主环境9200端口映射到​​Docker​​​容器中的9200端口,就可以访问到​​Docker​​​容器中的​​ElasticSearch​​​服务了,同时我们把这个容器命名为​​es​​。


浏览器访问如下:

ip+端口(9100)

使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_elasticsearch_03


添加索引库ES


[root@service ~]# curl -XPUT http://192.168.231.130:9200/es/


使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_docker_04




添加数据


[root@service ~]# curl -H "Content-Type: application/json" -XPOST http://localhost:9200/es/employee -d '{"first_name" : "bin","last_name" : "tang","age" : 33,"about" : "I love to go rock climbing","interests": [ "sports", "music"]}'


使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_elasticsearch_05



浏览器查询数据是否成功

使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_重启_06



这样,我们就完成了用Docker提供Elasticsearch服务,如果想同时启动多个不同版本的Elastcsearch或者其他服务,Docker也是一个理想的解决方案。


三、ik的部署

进入容器(es为容器的名称,也可以跟你id进入)


[root@service ~]# docker exec -it es /bin/bash


 使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_重启_07


注意:es跟ik的版本要一致


./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.5.0/elasticsearch-analysis-ik-6.5.0.zip



接着进入到 plugins 目录可以看到IK分词器已经安装成功



cd plugins/


使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_elasticsearch_08




接着退出容器并重启容器


exit
docker restart 容器名



ok 部署ik完成。


四、kibana的部署


使用docker拉取kibana镜像



[root@service ~]# docker pull kibana:6.5.0




查看镜像


[root@service ~]# docker images



运行镜像


[root@service ~]# sudo docker run --name mykibana -e ELASTICSEARCH_URL=http://192.168.231.130:9200 -p 5601:5601 -d kibana



查看运行中的镜像


[root@service ~]# docker ps


使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_docker_09



随后打开 ​http://127.0.0.1:5061/" target="_blank">​http://服务ip:5061/​​ ,可以看到kibana界面。

使用docker 简单部署 ElasticSearch 以及 ElasticSearch-Head_elasticsearch_10