共计 4099 个字符,预计需要花费 11 分钟才能阅读完成。
这篇文章主要介绍了 Docker 中如何部署 ElasticSearch+ElasticSearch-Head,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让丸趣 TV 小编带着大家一起了解一下。
一、Docker 部署 ElasticSearch
1、拉取 es 镜像:
[root@TrueDei ~]# docker pull elasticsearch:7.10.1
2、运行容器
ElasticSearch 的默认端口是 9200,我们把宿主环境 9200 端口映射到 Docker 容器中的 9200 端口,就可以访问到 Docker 容器中的 ElasticSearch 服务了,同时我们把这个容器命名为 truedei-es。
[root@TrueDei ~]#
[root@TrueDei ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
elasticsearch 7.10.1 558380375f1a 3 weeks ago 774MB
hello-world latest bf756fb1ae65 12 months ago 13.3kB
centos/mysql-57-centos7 latest f83a2938370c 14 months ago 452MB
[root@TrueDei ~]#
[root@TrueDei ~]# docker run -d --name truedei-es -p 9200:9200 -p 9300:9300 -e discovery.type=single-node elasticsearch:7.10.1
ad6e6d2914272a131ce904e8d1ed9c5580e077c68464cd6cd8bbc00c353098e0
[root@TrueDei ~]#
[root@TrueDei ~]#
3、进入到 es:
因为要对 es 进行配置,所以要进入到容器才可以
[root@TrueDei ~]#
[root@TrueDei ~]# docker exec -it truedei-es /bin/bash
[root@ad6e6d291427 elasticsearch]#
4、进行配置
加入跨域配置
[root@TrueDei ~]#
[root@TrueDei ~]# docker exec -it truedei-es /bin/bash
[root@ad6e6d291427 elasticsearch]#
[root@ad6e6d291427 elasticsearch]#
[root@ad6e6d291427 elasticsearch]# ls
LICENSE.txt NOTICE.txt README.asciidoc bin config data jdk lib logs modules plugins
[root@ad6e6d291427 elasticsearch]#
[root@ad6e6d291427 elasticsearch]#
[root@ad6e6d291427 elasticsearch]# cd config/
[root@ad6e6d291427 config]#
[root@ad6e6d291427 config]# ls
elasticsearch.keystore elasticsearch.yml jvm.options jvm.options.d log4j2.properties role_mapping.yml roles.yml users users_roles
[root@ad6e6d291427 config]#
[root@ad6e6d291427 config]#
[root@ad6e6d291427 config]# vi elasticsearch.yml
[root@ad6e6d291427 config]#
[root@ad6e6d291427 config]# cat elasticsearch.yml
cluster.name: docker-cluster
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: *
[root@ad6e6d291427 config]#
5、退出重启 es
[root@ad6e6d291427 config]#
[root@ad6e6d291427 config]# exit
exit
[root@TrueDei ~]#
[root@TrueDei ~]# docker restart truedei-es
truedei-es
[root@TrueDei ~]#
[root@TrueDei ~]#
6、查看是否启动成功
[root@TrueDei ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ad6e6d291427 elasticsearch:7.10.1 /tini -- /usr/local… 4 minutes ago Up 27 seconds 0.0.0.0:9200- 9200/tcp, 9300/tcp truedei-es
7、测试是否成功
浏览器输入:http://IP:9200
二、Docker 部署 ElasticSearch-Head
为什么要安装 ElasticSearch-Head 呢,原因是需要有一个管理界面进行查看 ElasticSearch 相关信息
1、拉取镜像
[root@TrueDei ~]# docker pull mobz/elasticsearch-head:5
2、运行容器
[root@TrueDei ~]#
[root@TrueDei ~]# docker run -d --name truedei-es-head -p 9100:9100 mobz/elasticsearch-head:5
2433913241a2504981088d8ec6c1cc10f7457c1d3abfdb99255e8b2111c81922
[root@TrueDei ~]#
3、测试
浏览器访问:http://IP:9100
然后输入你 ES 服务的地址即可链接
在创建索引的时候发现存在问题
解决办法以及步骤:
进入 ElasticSearch-Head 中修改配置文件;
1、进入 ElasticSearch-Head 容器:
[root@TrueDei ~]#
[root@TrueDei ~]#
[root@TrueDei ~]# docker exec -it truedei-es-head /bin/bash
root@2433913241a2:/usr/src/app#
root@2433913241a2:/usr/src/app#
root@2433913241a2:/usr/src/app#
root@2433913241a2:/usr/src/app# cd
root@2433913241a2:~#
root@2433913241a2:~#
root@2433913241a2:~# cd /usr/src/app/
root@2433913241a2:/usr/src/app# ll
bash: ll: command not found
root@2433913241a2:/usr/src/app# ls
Dockerfile LICENCE _site elasticsearch-head.sublime-workspace index.html package.json src
Gruntfile.js README.textile elasticsearch-head.sublime-project grunt_fileSets.js node_modules plugin-descriptor.properties test
root@2433913241a2:/usr/src/app#
root@2433913241a2:/usr/src/app#
root@2433913241a2:/usr/src/app# cd _site/
root@2433913241a2:/usr/src/app/_site#
root@2433913241a2:/usr/src/app/_site# vi vendor.js
bash: vi: command not found
root@2433913241a2:/usr/src/app/_site#
在编辑 vendor.js 的时候说 vi 编辑器不存在,那么就需要安装一下 vim 了:
apt-get update
apt-get install vim
1、进入 head 安装目录;
2、cd _site/
3、编辑 vendor.js 共有两处
6886 行 /contentType: application/x-www-form-urlencoded
改成
contentType: application/json;charset=UTF-8
7574 行 var inspectData = s.contentType === application/x-www-form-urlencoded
改成
var inspectData = s.contentType === application/json;charset=UTF-8
然后重启一下即可
此时创建索引也是 OK 的
查询也 ok 了:
感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Docker 中如何部署 ElasticSearch+ElasticSearch-Head”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!