docker安装ElasticSearch&Kibana

本文参考以下两篇文章

✅ElasticSearch&Kibana 部署 · 云效 Thoughts · 企业级知识库 (aliyun.com)

docker安装ElasticSearch&Kibana - 飞书

安装elasticsearch

使用docker下载es:

bash 复制代码
docker pull elasticsearch:8.13.0

挂载配置

创建挂在文件目录

bash 复制代码
mkdir -p /home/docker/es/config
mkdir -p /home/docker/es/data
mkdir -p /home/docker/es/plugins
mkdir -p /home/docker/es/logs

#权限
chmod 777 /home/docker/es/config
chmod 777 /home/docker/es/data
chmod 777 /home/docker/es/plugins
chmod 777 /home/docker/es/logs

编辑 /home/docker/es/config/elasticsearch.yml 文件

bash 复制代码
cluster.name: "nfturbo-cluster"
network.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
xpack.security.enabled: true

启动镜像

bash 复制代码
docker run --name elasticsearch \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms256m -Xmx512m" \
-v /home/docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /home/docker/es/data:/usr/share/elasticsearch/data \
-v /home/docker/es/plugins:/usr/share/elasticsearch/plugins \
-v /home/docker/es/logs:/usr/share/elasticsearch/logs \
-d elasticsearch:8.13.0

设置内置用户密码

对于在 Docker 环境中设置 Elasticsearch 内置用户密码,建议使用 elasticsearch-setup-passwords auto 命令,因为它会自动为内置用户生成随机密码,并直接显示在控制台上。这种方式更适合自动化部署或脚本化操作。

如果你希望手动输入密码并交互式地设置密码,可以使用 elasticsearch-setup-passwords interactive 命令。这种方式适合于交互式设置密码,并可以根据你的需要手动输入每个用户的密码。

bash 复制代码
# 进入es容器内部
docker exec -it a46f2f8bdfd7 /bin/bash

#手动设置用户密码
elasticsearch-setup-passwords interactive

#重启es容器

然而这个并不行,后面你的kibana启动后会遇到这样一个问题,++原因是++最新版本的 Elasticsearch 引入了更加严格的安全策略,特别是涉及到 Kibana 需要访问的系统索引。具体来说,错误信息指出使用的是 *elastic*超级用户账户,但是这个账户不允许写入 Kibana 所需的系统索引。

Error: config validation of \[elasticsearch.username]: value of "elastic" is forbidden

进入es容器,新加用户,并且设置角色权限,根据提示创建密码,再次确认密码

bash 复制代码
bin/elasticsearch-users useradd gxj
#密码123456
bin/elasticsearch-users roles -a superuser gxj
bin/elasticsearch-users roles -a kibana_system gxj

警告不要紧,不用管

WARNING: Owner of file /usr/share/elasticsearch/config/users_roles used to be root, but now is elasticsearch

浏览器访问

ip:9200, 记得防火墙开放映射 端口

安装Kibana

使用docker下载kibana

bash 复制代码
docker pull kibana:8.13.0

查看es的ip

bash 复制代码
docker inspect elasticsearch|grep IPAddress

挂载配置

bash 复制代码
#创建挂载文件
touch /home/docker/es/config/kibana.yml
#权限
chmod 777 /home/docker/es/config/kibana.yml

编辑kibana.yml,需要把刚刚查到的es的ip设置到++elasticsearch.hosts++中,其他的配置自己适当调整即可

bash 复制代码
server.name: kibana
#server.port: 5601
server.host: 0.0.0.0
#改成 es 的内网 ip
elasticsearch.hosts: [ "http://172.17.0.2:9200" ]
elasticsearch.username: "gxj"
elasticsearch.password: "123456"
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"

启动Kibana

bash 复制代码
docker run --name kibana \
-p 5601:5601 \
-v /home/docker/es/config/kibana.yml:/usr/share/kibana/config/kibana.yml \
-d kibana:8.13.0

浏览器访问

http://ip:5601, 记得防火墙开放映射 端口

输入用户名(gxj)、密码(123456))即可访问

复制代码
bash 复制代码
#kibana容器运行日志
docker logs kibana
相关推荐
Elasticsearch13 小时前
4 个英伟达人工智能任务,1 个 Elasticsearch 接口:嵌入、聊天、completion 和重排序
elasticsearch
前端Baymax14 小时前
kube-proxy iptables模式下NodePort间歇性超时
docker·容器·kubernetes
一只积极向上的小咸鱼14 小时前
多机Docker + InfiniBand 分布式运行实操手册
分布式·docker·容器
java_logo14 小时前
Docker 部署 WPS 在线办公套件,浏览器即可编辑 Word、Excel、PPT
docker·word·wps·wps部署教程·wps免费版·轩辕镜像·docker部署教程
AI服务老曹14 小时前
Docker部署AI视频分析平台项目实战记录
人工智能·docker·音视频
留不住的何止是时间15 小时前
关于docker构建镜像build指令的注意事项
运维·docker·容器
小兔崽子去哪了1 天前
Docker 删除镜像后磁盘空间没有释放?
后端·docker·容器
IT新视界1 天前
Elasticsearch信创国产化替代
大数据·elasticsearch·搜索引擎
Zhu7581 天前
在Docker环境部署ApacheGuacamole,对接PG数据库
数据库·docker·容器
Elasticsearch1 天前
用 Elasticsearch 的 RRF 融合检索,把矿物鉴定准确率从 36% 拉到 92%
elasticsearch