docker部署安装ElasticSearch
基于lucene开发的ElasticSearch由于其高效的检索性能,已经实际形成诸多业务架构中必备的一个技术组成部分。本次实际开发环境为Centos7,准备基于springboot搭建一套检索系统,自然ElasticSearch就是第一选择了。不过单独部署安装es又显得异常费事,docker容器服务部署必须实施。实际过程也非常简单。第一步,docker获取es容器镜像。
docker pull elasticsearch
第二步,查看镜像是否下载成功
docker images
第三步,选择挂载硬盘创建三个目录,分别对应es的日志,es的配置,和es的插件。并设置目录权限为可读写。
mkdir es_docker
cd es_docker
mkdir config logs plugins
chmod -R 777 config logs plugins
第四步,进入config目录里创建elasticsearch.yml文件,并使用vi命令插入如下内容:
http.host: 0.0.0.0
由于是yml文件配置,所以host后面的冒号,必须空格后才能输入0.0.0.0。也就是后面的ip地址前面需要空格。
第五步,开始使用docker run启动容器,具体命令参考为:
docker run --name elasticsearch -p 9200:9200 -p 9300:9300
-e "discovery.type=single-node"
-e ES_JAVA_OPTS="-Xms84m -Xmx512m"
-v /home/es_docker/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
-v /home/es_docker/data:/usr/share/elasticsearch/data
-v /home/es_docker/plugins:/usr/share/elasticsearch/plugins
-d elasticsearch:7.12.0
第六步,使用docker ps -a检查es是否正常启动,然后使用docker logs来查看该容器的日志。
docker ps -a
docker logs elasticsearch
日志里没报错就表示启动成功了。
然后可以直接在浏览器里输入部署es的服务器ip地址和端口号9200,如果出现如下json格式结果,就ok了。
此时如果想查看es的服务是否启动正常,还可以基于docker来安装es的插件。过程基本一样,先docker去拉取插件,然后docker运行容器:
docker pull mobz/elasticsearch-head:5
docker run -d --name es-head -p 9100:9100 docker.io/mobz/elasticsearch-head:5
执行docker命令后,也可以使用docker ps -a来查看是否成功启动。不过更好的方式是和es服务链接上。因此接下来首先需要修改es的config目录的配置文件elasticsearch.yml,在其后面增加两行语句:
http.cors.enabled: true
http.cors.allow-origin: "*"
主要目的就是允许跨域请求。
由于修改了配置文件,所以需要重启一下es的服务。直接运行如下语句:
docker restart elasticsearch
到此就可以使用网页浏览器来查看es的运行状况了。打开一个浏览器,地址栏上输入安装es插件的服务器ip地址和其端口号:

浙公网安备 33010602011771号