docker搭建ELK之一(elasticsearch)
- 安装elasticsearch
docker pull elasticsearch:7.7.0
docker run --name elasticsearch -d -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.7.0
--name 表示镜像启动后的容器名称
-d: 后台运行容器,并返回容器ID;
-e: 指定容器内的环境变量
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
- 浏览器访问http://localhost:9200查看是否成功
curl localhost:9200
{
"name": "282bb0b9c293",
"cluster_name": "docker-cluster",
"cluster_uuid": "G2KCS7UiQLy0M3ChVaiwTA",
"version": {
"number": "7.7.0",
"build_flavor": "default",
"build_type": "docker",
"build_hash": "81a1e9eda8e6183f5237786246f6dced26a10eaf",
"build_date": "2020-05-12T02:01:37.602180Z",
"build_snapshot": false,
"lucene_version": "8.5.1",
"minimum_wire_compatibility_version": "6.8.0",
"minimum_index_compatibility_version": "6.0.0-beta1"
},
"tagline": "You Know, for Search"
}
- 安装elasticsearch-head
docker pull mobz/elasticsearch-head:5
docker create --name elasticsearch-head -p 9100:9100 mobz/elasticsearch-head:5
docker start elasticsearch-head
or
docker start 容器id (docker ps -a 查看容器id )
- 浏览器打开http://localhost:9100查看是否成功
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/2404e1386c8c502f0e88724cbcc90af5.png)
- 尝试连接elasticsearch会发现无法连接上,由于是前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置
docker exec -it elasticsearch /bin/bash (进不去使用容器id进入)
alias docker.es="docker exec -it elasticsearch bash"
vim ~/.zshrc
alias docker.es="docker exec -it elasticsearch bash"
source ~/.zshrc
vi config/elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
exit
docker restart elasticsearch
- elasticSearch-head 操作时不修改配置,默认会报 406错误码
mkdir -p ~/elk/elasticsearch/elasticsearch-head
docker cp elasticsearch-head:/usr/src/app/_site/vendor.js ~/elk/elasticsearch/elasticsearch-head/
vim vendor.js
编辑vendor.js共两处
①. 6886行
contentType: "application/x-www-form-urlencoded",
改成
contentType: "application/json;charset=UTF-8",
②. 7574行
var inspectData = s.contentType === "application/x-www-form-urlencoded" &&
改成
var inspectData = s.contentType === "application/json;charset=UTF-8" &&
docker cp ~/elk/elasticsearch/elasticsearch-head/vendor.js elasticsearch-head:/usr/src/app/_site
docker restart elasticsearch-head
- 安装分词器
https://blog.csdn.net/qq_40942490/article/details/111594267