docker(Elasticsearch和nacos)

docker(Elasticsearch和nacos)

Elasticsearch Kibana

安装elasticsearch

# 拉取镜像
docker pull elasticsearch:7.6.2
# 启动镜像,设置内存大小,注意与Kibana版本保持一致,后期springBoot也是。
docker run --name cxyes7.6 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -d elasticsearch:7.6.2
# 测试安装
curl http://localhost:9200

image-20200708170840798

安装Kibana

# 拉取镜像
docker pull kibana:7.6.2
# 启动镜像
docker run --name cxykibana --link cxyes7.6:elasticsearch -p 5601:5601 -d kibana:7.6.2
# 设置中文,/usr/share/kibana/config/kibana.yml
docker exec -it cxykibana /bin/bash
cd config/
vi kibana.yml
#  在末尾添加i18n.locale: zh-CN即可. 注意冒号后一定要有空格!
i18n.locale: zh-CN
# 然后重启
docker restart cxykibana

image-20200708172652859

安装可视化head

# 拉取镜像
docker pull mobz/elasticsearch-head:5
# 启动镜像
docker run -d  --name="cxyhead" -p 9100:9100 b19a5c98e43b
# 启动成功
[root@centos8 ~]# docker run -d  --name="cxyhead" -p 9100:9100 b19a5c98e43b
2a599c351909d52b866277de8e2dd3775802285628200747fbad3a7780f4ee91

image-20200712091855753

image-20200712091923476

这里查询如果查询不到数据的话,需要设置如下

image-20200712101147355

# 进入head容器   这里容器id输入自己的
docker exec -it b19a5c98e43b /bin/bash

# 编辑配置文件,如果没有vim命令自行安装vim
vim _site/vendor.js

# 在未编辑的模式下使用以下命令查询
/contentType
输入i开启编辑模式,application/x-www-form-urlencoded 改为 application/json;charset=UTF-8

# 按键盘的ESC健退出编辑模式,然后查询下一个
/var inspectData = s.contentType
输入i开启编辑模式,将application/x-www-form-urlencoded 改为 application/json;charset=UTF-8

# 输入wq保存并退出,最后退出容器并重启容器
exit
docker restart b19a5c98e43b

其他设置

  1. 解决跨域访问

首先进入到ES容器中, 然后进入到指定目录修改elasticsearch.yml文件

docker exec -it cxyes7.6 /bin/bash
cd config/
vi elasticsearch.yml
# 在elasticsearch.yml的文件末尾加上
http.cors.enabled: true
http.cors.allow-origin: "*"
# 修改配置后重启容器即可
docker restart cxyes7.6
  1. 安装IK中文分词器

ES自带的分词器对中文分词不友好, 所以我们下载开源的IK分词器来解决这个问题. 首先进入到plugins目录中下载分词器, 下载完成后解压, 再重启ES即可. 具体步骤如下:

image-20200708173403601

docker exec -it cxyes7.6 /bin/bash
# 将文件拷入。本地安装方式,网速慢时使用。
docker cp ./elasticsearch-analysis-ik-7.6.2 6ef22c7dad68:/usr/share/elasticsearch/plugins
# 进入插件目录
cd plugins/
# 下载分词器,在线安装。
elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip

elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v6.8.3/elasticsearch-analysis-ik-6.8.3.zip
# 重启es
docker restart cxyes7.6
# 测试
POST _analyze
{
  "analyzer": "ik_smart",
  "text": "各个国家有各个国家的国歌"
}

然后重启容器, 可以在Kibana界面的dev tools中验证是否安装成功

image-20200708173545327

nacos

# 拉取官网最新版镜像,如果嫌大的话,也可以自己制作,或者使用其他大佬制作的。
docker pull nacos/nacos-server
# 这里我嫌大,就下载了下面这个。
docker pull jerry6290/nacos-server
# 启动命令
docker run --env MODE=standalone --name cxynacos -d -p 8848:8848 镜像id
# 然后访问,ip+端口+/nacos
# 进入容器,如果 /bin/bash 找不到,换成如下命令。
docker exec -it 容器id /bin/sh
# 增加数据库持久化,如下图,然后重启nacos。

image-20200725195845781

image-20200725200018801

image-20200725203949014

最后效果

image-20200725204150009