Docker中如何部署ElasticSearch+ElasticSearch

62次阅读
没有评论

共计 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

 

Docker 中如何部署 ElasticSearch+ElasticSearch-Head


 

7、测试是否成功

浏览器输入:http://IP:9200

Docker 中如何部署 ElasticSearch+ElasticSearch-Head


  二、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 服务的地址即可链接

Docker 中如何部署 ElasticSearch+ElasticSearch-Head


 

在创建索引的时候发现存在问题

Docker 中如何部署 ElasticSearch+ElasticSearch-Head


 

  解决办法以及步骤:
 

进入 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 的

Docker 中如何部署 ElasticSearch+ElasticSearch-Head


 

查询也 ok 了:

Docker 中如何部署 ElasticSearch+ElasticSearch-Head


 

感谢你能够认真阅读完这篇文章,希望丸趣 TV 小编分享的“Docker 中如何部署 ElasticSearch+ElasticSearch-Head”这篇文章对大家有帮助,同时也希望大家多多支持丸趣 TV,关注丸趣 TV 行业资讯频道,更多相关知识等着你来学习!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计4099字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)