溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Docker中如何部署ElasticSearch+ElasticSearch-Head

發(fā)布時間:2021-11-18 16:15:38 來源:億速云 閱讀:349 作者:小新 欄目:云計算

這篇文章主要介紹了Docker中如何部署ElasticSearch+ElasticSearch-Head,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。


 

一、Docker部署ElasticSearch

1、拉取es鏡像:

[root@TrueDei ~]# docker pull elasticsearch:7.10.1
 

2、運(yùn)行容器

ElasticSearch的默認(rèn)端口是9200,我們把宿主環(huán)境9200端口映射到Docker容器中的9200端口,就可以訪問到Docker容器中的ElasticSearch服務(wù)了,同時我們把這個容器命名為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、進(jìn)入到es:

因為要對es進(jìn)行配置,所以要進(jìn)入到容器才可以

[root@TrueDei ~]# 
[root@TrueDei ~]# docker exec -it truedei-es /bin/bash
[root@ad6e6d291427 elasticsearch]#
 

4、進(jìn)行配置

加入跨域配置

[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呢,原因是需要有一個管理界面進(jìn)行查看ElasticSearch相關(guān)信息

1、拉取鏡像

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

2、運(yùn)行容器

[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服務(wù)的地址即可鏈接

Docker中如何部署ElasticSearch+ElasticSearch-Head


 

在創(chuàng)建索引的時候發(fā)現(xiàn)存在問題

Docker中如何部署ElasticSearch+ElasticSearch-Head


 

 解決辦法以及步驟:  


進(jìn)入ElasticSearch-Head中修改配置文件;

1、進(jìn)入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、進(jìn)入head安裝目錄;

2、cd _site/

3、編輯vendor.js  共有兩處

  1. 6886行 /contentType: "application/x-www-form-urlencoded

改成

contentType: "application/json;charset=UTF-8"

  1. 7574行 var inspectData = s.contentType === "application/x-www-form-urlencoded" &&

改成

var inspectData = s.contentType === "application/json;charset=UTF-8" &&

然后重啟一下即可

此時創(chuàng)建索引也是OK的

Docker中如何部署ElasticSearch+ElasticSearch-Head


 

查詢也ok了:

Docker中如何部署ElasticSearch+ElasticSearch-Head


 

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Docker中如何部署ElasticSearch+ElasticSearch-Head”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI