一、安装ElasticSearch
1、下载镜像
docker pull docker.elastic.co/elasticsearch/elasticsearch:6.3.2
用docker images查看已下载的镜像
(可选)对镜像命名:docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签),以新的名字复制一份。
2、运行容器
docker run -d --name es -e ES_JAVA_OPTS="-Xms256m -Xmx256m" -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:6.3.2
因为我的是云服务器内存比较小,所以指定了JVM的堆内存大小。
3、修改配置
要想允许跨域访问,需要修改一些参数。
1)使用命令docker exec -it es /bin/bash(es是运行容器时指定的name,也可以用CONTAINER ID)进入容器内部。
2)在文件config/elasticsearch.yml后面添加以下内容
http.cors.enabled: true
http.cors.allow-origin: "*"
3)使用docker restart es命令重启ES。
浏览器打开http://ip:9200,可以看到如下内容。(注意开放9200端口防火墙)
二、安装elasticsearch-head插件
1、下载镜像
docker pull mobz/elasticsearch-head:5
2、运行容器
docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
3、设置外部访问
由于容器里面没有安装vi/vim,所以需要将配置文件拷贝出来修改之后再放回去。
1)使用docker cp es_admin:/usr/src/app/Gruntfile.js ./命令将es容器里的文件拷贝到当前目录。
2)修改文件,增加内容hostname: '0.0.0.0',如图
3)使用docker cp Gruntfile.js es_admin:/usr/src/app/命令将文件拷贝回去。
4、连接ES
浏览器访问http://ip:9100,然后连接指定的ES服务。
三、安装中文分词器插件
1、下载插件压缩包
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.3.2/elasticsearch-analysis-ik-6.3.2.zip
2、将压缩包拷贝到es容器内部
1)进入es容器内部,并创建插件目录。
2)使用exit命令退回宿主机,将压缩包拷贝到es容器刚才创建的目录下
docker cp /home/zhh/software/elasticsearch-analysis-ik-6.3.2.zip es:/usr/share/elasticsearch/plugins/ik
3)再次进入es容器内部,使用unzip命令将压缩包解压。
到此,中文分词器插件安装完成。