docker -- Elasticsearch
作者:互联网
前言
使用容器启动Elasticsearch 做日志收集、全文检索等
准备环境
# 搜索Elasticsearch
docker search elasticsearch
# 下载Kibana镜像 docker pull elasticsearch:8.3.2
# 查看镜像
docker images
启动
如果需要指定挂载data目录,那么,必须保证目录权限可操作
- 创建数据目录
mkdir -p /mydata/es-01
# 赋予权限
chmod 777 -R /mydata/es-01
- 容器启动
docker run --restart=always -d -p 9200:9200 -p 9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms512m -Xmx512m" \ -v es-config:/usr/share/elasticsearch/config \ -v /mydata/es-01/data:/usr/share/elasticsearch/data \ --name es-01 \ elasticsearch:8.3.2
启动后可验证:
curl 127.0.0.1:9200
返回结果如下:
{ "name" : "32899237ec06", "cluster_name" : "docker-cluster", "cluster_uuid" : "lkYf5I-VSMSA94HH-5JhlA", "version" : { "number" : "8.3.2", "build_type" : "docker", "build_hash" : "8b0b1f23fbebecc3c88e4464319dea8989f374fd", "build_date" : "2022-07-06T15:15:15.901688194Z", "build_snapshot" : false, "lucene_version" : "9.2.0", "minimum_wire_compatibility_version" : "7.17.0", "minimum_index_compatibility_version" : "7.0.0" }, "tagline" : "You Know, for Search" }
异常处理
一、启动一段时间后elasticsearch 自动stop,执行: docker logs container_id 查看日志显示如下:
- 原因
- 挂载data目录时,忘记赋权了, ES没有写入权限导致
解决
# 赋权
chmod 777 ~/data
# 重启
docker restart container_id
安装Kibana
Kibana 是elasticsearch 的一个可视化管理界面
安装&启动
# 下载镜像 docker pull kibana:8.3.2
# 启动
docker run -d --restart=always --name kibana -p 5601:5601 -v kibana:/usr/share/kibana/config kibana:8.3.2
此时,容器是启动了,还需到数据卷中修改一下 kibana默认的elasticsearch的连接地址
# 编辑kibana.yml配制
vim /var/lib/docker/volumes/kibana/_data/kibana.yml
修改:
# # ** THIS IS AN AUTO-GENERATED FILE ** # # Default Kibana configuration for docker target server.host: "0.0.0.0" server.shutdownTimeout: "5s" # ip 换成你的私网IP, 注意:127.0.0.1 在容器中会默认指的是kibana自己。 elasticsearch.hosts: [ "http://172.31.0.18:9200" ] monitoring.ui.container.elasticsearch.enabled: true # kibana界面显示设置成:中文 i18n.locale: "zh-CN"
测试访问: http://127.0.0.1:5601
标签:--,kibana,elasticsearch,Elasticsearch,docker,data,es 来源: https://www.cnblogs.com/TF511/p/16497271.html