使用 Docker 安装 ES+ES_head+Kibana
注:对于以下的容器配置修改可以使用挂载的方式,这样下次生成容器就不用了重新配置一遍,或者用修改后的容器生成新的镜像也是可以的。
环境:
elasticsearch:7.6.1
elasticsearch_head : 5
kibana : 7.6.1
注:ES 要和 Kibana 的版本对应!
如使用服务器要先行开放端口 9200、9300:es ,9100:es_head ,5601:kibana
1、先行使用 Docker Pull 命令下载镜像
2、运行镜像配置容器
2、1 ES
2-1、因为自身的服务器内存不大,这三个镜像都直接启动的话大概会宕机吧。
限制启动:
docker run -d -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" es的ID
测试启动:
添加 elasticsearch_head 跨域
[root@tencent ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0060bf00057c 41072cdeebc5 "/usr/local/bin/dock…" 29 minutes ago Up 3 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es8
[root@tencent ~]# docker exec -it 0060bf00057c /bin/bash
[root@0060bf00057c elasticsearch]# vi config/elasticsearch.yml
# 在文件的最后位置添加
http.cors.enabled: true
http.cors.allow-origin: "*"
[root@0060bf00057c elasticsearch]#
#退出容器重启
[root@0060bf00057c elasticsearch]# exit
exit
[root@tencent ~]# docker restart 0060bf00057c
0060bf00057c
[root@tencent ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0060bf00057c 41072cdeebc5 "/usr/local/bin/dock…" 35 minutes ago Up 10 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es8
[root@tencent ~]#
安装 IK 分词器
可使用以下方式下载,不过好像我的服务器原因下载不动就直接使用 tag 包了。
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.1/elasticsearch-analysis-ik-7.6.1.zip
用 Xftp 把 tag 包扔进去。
[root@centen ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
744c4300d427 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt..." 21 hours ago Up 21 hours 0.0.0.0:9100->9100/tcp es_admin
bf6640d23070 f9ca33465ce3 "/usr/local/bin/du..." 21 hours ago Up 21 hours 0.0.0.0:5601->5601/tcp kibana
be2026990f4f 41072cdeebc5 "/usr/local/bin/do..." 21 hours ago Up 21 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
# 进入 es 容器的plugins 文件
[root@centen ~]# docker exec -it be2026990f4f /bin/bash
[root@be2026990f4f elasticsearch]# cd plugins/
# 创建 ik 文件夹
[root@be2026990f4f plugins]# mkdir ik
[root@be2026990f4f plugins]# cd ik
[root@be2026990f4f ik]#
# 将安装包 cp 到 ik 文件夹下
[root@centen home]# docker cp /home/elasticsearch-analysis-ik-7.6.1.zip be2026990f4f:/usr/share/elasticsearch/plugins/ik
[root@centen home]#
# 解压
[root@be2026990f4f ik]# ls
elasticsearch-analysis-ik-7.6.1.zip
[root@be2026990f4f ik]# unzip elasticsearch-analysis-ik-7.6.1.zip
Archive: elasticsearch-analysis-ik-7.6.1.zip
inflating: elasticsearch-analysis-ik-7.6.1.jar
inflating: httpclient-4.5.2.jar
inflating: httpcore-4.4.4.jar
inflating: commons-logging-1.2.jar
inflating: commons-codec-1.9.jar
inflating: plugin-descriptor.properties
inflating: plugin-security.policy
creating: config/
inflating: config/main.dic
inflating: config/quantifier.dic
inflating: config/extra_single_word_full.dic
inflating: config/IKAnalyzer.cfg.xml
inflating: config/surname.dic
inflating: config/suffix.dic
inflating: config/stopword.dic
inflating: config/extra_main.dic
inflating: config/extra_stopword.dic
inflating: config/preposition.dic
inflating: config/extra_single_word_low_freq.dic
inflating: config/extra_single_word.dic
[root@be2026990f4f ik]# ls
commons-codec-1.9.jar elasticsearch-analysis-ik-7.6.1.jar httpcore-4.4.4.jar
commons-logging-1.2.jar elasticsearch-analysis-ik-7.6.1.zip plugin-descriptor.properties
config httpclient-4.5.2.jar plugin-security.policy
# 退出容器重新启动
[root@be2026990f4f ik]# exit
exit
[root@centen ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
744c4300d427 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt..." 21 hours ago Up 21 hours 0.0.0.0:9100->9100/tcp es_admin
bf6640d23070 f9ca33465ce3 "/usr/local/bin/du..." 21 hours ago Up 21 hours 0.0.0.0:5601->5601/tcp kibana
be2026990f4f 41072cdeebc5 "/usr/local/bin/do..." 21 hours ago Up 21 hours 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
[root@centen ~]# docker restart be2026990f4f
be2026990f4f
[root@centen ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
744c4300d427 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt..." 21 hours ago Up 21 hours 0.0.0.0:9100->9100/tcp es_admin
bf6640d23070 f9ca33465ce3 "/usr/local/bin/du..." 21 hours ago Up 21 hours 0.0.0.0:5601->5601/tcp kibana
be2026990f4f 41072cdeebc5 "/usr/local/bin/do..." 21 hours ago Up 3 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
[root@centen ~]#
2、2 Kibana
[root@centen ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/kibana 7.6.1 f9ca33465ce3 3 months ago 1.01 GB
docker.io/elasticsearch 7.6.1 41072cdeebc5 3 months ago 790 MB
docker.io/mobz/elasticsearch-head 5 b19a5c98e43b 3 years ago 824 MB
[root@centen ~]# docker run -it -d -e ELASTICSEARCH_URL=http://129.204.87.14:9200 --name kibana --network=container:105133da0a35(es的容器ID) f9ca33465ce3(kibana的镜像ID)
3c15b30b0502552735e5e93255a48a6b9c5766dff6e7771f3af98c337e2a1559
进入 kibana 容器修改配置
[root@centen ~]# docker exec -it 3c15b30b0502 /bin/bash
bash-4.2$ ls
LICENSE.txt README.txt built_assets data node_modules package.json src x-pack
NOTICE.txt bin config node optimize plugins webpackShims
bash-4.2$ cd config
bash-4.2$ ls
apm.js kibana.yml
bash-4.2$ vi kibana.yml
# 退出容器并重启
bash-4.2$ exit
exit
[root@centen ~]# docker restart kibana
kibana
[root@centen ~]#
:文件中修改为自己服务器地址
:测试登录
注:Kibana 汉化
[root@centen ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
744c4300d427 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt..." 21 hours ago Up 21 hours 0.0.0.0:9100->9100/tcp es_admin
bf6640d23070 f9ca33465ce3 "/usr/local/bin/du..." 21 hours ago Up 21 hours 0.0.0.0:5601->5601/tcp kibana
be2026990f4f 41072cdeebc5 "/usr/local/bin/do..." 21 hours ago Up 3 seconds 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
# 进入容器
[root@centen ~]# docker exec -it bf6640d23070 /bin/bash
bash-4.2$ ls
LICENSE.txt bin data optimize src
NOTICE.txt built_assets node package.json webpackShims
README.txt config node_modules plugins x-pack
# 进入配置文件中添加 i18n.locale: "zh-CN" 注:冒号后要带有空格,不然会无法启动
bash-4.2$ vi config/kibana.yml
# 退出容器重新启动 kibana
bash-4.2$ exit
exit
[root@centen ~]# docker restart bf6640d23070
bf6640d23070
[root@centen ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
744c4300d427 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt..." 21 hours ago Up 21 hours 0.0.0.0:9100->9100/tcp es_admin
bf6640d23070 f9ca33465ce3 "/usr/local/bin/du..." 21 hours ago Up 6 seconds 0.0.0.0:5601->5601/tcp kibana
be2026990f4f 41072cdeebc5 "/usr/local/bin/do..." 21 hours ago Up 6 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
[root@centen ~]#
重新刷新界面就是汉化后的了
2、3 ES_head
[root@centen ~]# docker run -d --name es_admin -p 9100:9100 mobz/elasticsearch-head:5
744c4300d4270c3cdee4d49eb6cd1e57cc2a4d783a52061ebc3a39d633842165
[root@centen ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
744c4300d427 mobz/elasticsearch-head:5 "/bin/sh -c 'grunt..." 8 seconds ago Up 7 seconds 0.0.0.0:9100->9100/tcp es_admin
bf6640d23070 f9ca33465ce3 "/usr/local/bin/du..." 9 minutes ago Up 6 minutes 0.0.0.0:5601->5601/tcp kibana
be2026990f4f 41072cdeebc5 "/usr/local/bin/do..." 10 minutes ago Up 8 minutes 0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp es
[root@centen ~]#
:测试连接