持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情
写一个docker接入es教程,以及踩过的坑,m1要找arm特定版本
1.下载es
选择7.14.1版本
docker run -d --name es -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:7.14.1
docker run -d --name amd64/elasticsearch
-p 9200:9200 -p 9300:9300
-e "discovery.type=single-node"
-v ~/docker/data/es:/usr/share/elasticsearch/data
-v ~/docker/plugins/es:/usr/share/elasticsearch/plugins
amd64/elasticsearch:6.8.20
2.各个命令的含义
-d : 后台运行
-p : 指定宿主机与docker启动容器的端口映射
--name : 为 elasticsearch 容器起个别名
-e : 指定为单节点集群模式
-v : 分别将 es 的数据以及插件挂载到宿主机
3.创建kibana容器
使用docker inspect elasticsearch(es) 容器名
找到ipAddress
记得指定版本,es 和 kibana有对应的版本
docker pull kibana:7.14.1
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://172.17.0.2:9200 -p 5601:5601 -d kibana:7.14.1
访问http://172.17.0.2:9200 成功启动
4.安装分词器
1、docker exec -it 容器id /bin/bash
2、cd bin
3、elasticsearch-plugin install github.com/medcl/elast…
elasticsearch-plugin list #查看
elasticsearch-plugin remove analysis-ik #删除
5.增加分词
docker exec -it elasticsearch /bin/bash
cd config/analysis-ik/
echo '北京uzi' >> main.dic
yunalai:
cluster.name: "docker-cluster"
network.host: 0.0.0.0
6.安装header
docker pull elasticsearch-head:5
docker run -d -p 9100:9100 mobz/elasticsearch-head:5
连接不上,需要配置跨域: 进入elasticsearch容器内部,修改配置文件elasticsearch.yml
1.进入es容器内 docker exec -it 容器id /bin/bash
2.cd ./config
3.vi elasticsearch.yml
4.增加下列代码块
http.cors.enabled: true
http.cors.allow-origin: "*"
5.重启容器
docker restart elasticsearch
ES可视化界面:访问http://ip:9100
kibana指令操作界面:http://ip:5601