m1_docker-接入es踩坑

371 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 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

image.png

记得指定版本,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