Docker部署ES+kibana的方法
部署ES(Elasticsearch)+kibana
1.ES暴露的端口很多
2.ES十分消耗内存
3.ES的数据一般需要挂载出去,放在安全目录(挂载)
elastic
前往官方手册
1.下载运行elasticsearch的
docker run -d --name elasticsearch --net somenetwork -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch
这里不用--net somenetwork这个参数,这是docker网络,暂时不用
用下面这个
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch

用docker ps -a 看到elasticsearch已经是推出状态

我又重新启动一个elasticsearch01容器

然后看了日志,原来是因为我的服务器不够elasticsearch占有内存导致
这样的话,设置它的启动后占有的内存
docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch
再用docker ps查看

这里我用的Xterminal软件,所以可以很直观的看到很占内存。
也可以用docker stats

验证是否运行成功,curl localhost:9200

docker run -d --name elasticsearch02 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" elasticsearch
这个内存占用还是太大
在修改为
docker run -d --name elasticsearch04 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e "ES_JAVA_OPTS=-Xms256m -Xmx256m" elasticsearch
参数含义:
-e "discovery.type=single-node" 设置环境变量 指定 Elasticsearch 以单节点模式运行(无需集群)
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" 设置 JVM 堆内存参数 -Xms512m 初始堆内存,-Xmx512m 最大堆内存
安装Kibana镜像
docker pull kibana

docker run -d --name kibana01 -p 5601:5601 -e "ELASTICSEARCH_HOSTS=http://elastissearch04:9200" --link elasticsearch:elasticsearch04 kibana
我这里准备kibana连接ES,发现不成功

说是容器不存在,没有启动
检查发现两处错误

启动成功

尝试curl loclhost:5601验证
去web页面访问一下。

这并没有来连接成功

应该是我的容器名地址错误

上面的命令应该是没有给我配置,下面是我的思路

命令:
# 进入 Kibana 容器 docker exec -it kibana /bin/bash # 检查配置文件是否存在 ls /usr/share/kibana/config/ # 如果不存在,创建配置目录和文件 mkdir -p /usr/share/kibana/config/ echo "elasticsearch.url: 'http://elasticsearch:9200'" > /usr/share/kibana/config/kibana.yml echo "server.host: '0.0.0.0'" >> /usr/share/kibana/config/kibana.yml # 退出并重启 Kibana exit docker restart kibana
尝试ping
能够ping

理论上可以了
页面去成功访问。

设置密码
# 进入容器 docker exec -it elasticsearch /bin/bash # 编辑配置文件(使用 vi/nano 或直接追加配置) echo "xpack.security.enabled: true" >> /usr/share/elasticsearch/config/elasticsearch.yml echo "xpack.security.http.ssl.enabled: false" >> /usr/share/elasticsearch/config/elasticsearch.yml # 开发环境禁用 HTTPS exit

重启es服务
docker restart elasticsearch
这里重启之后,ES就挂掉了,大概率是因为内存的原因

# 进入 Kibana 容器 docker exec -it kibana /bin/bash # 编辑配置文件 echo "elasticsearch.username: 'elastic'" >> /usr/share/kibana/config/kibana.yml echo "elasticsearch.password: '你刚设置的密码'" >> /usr/share/kibana/config/kibana.yml exit
重启
docker restart kibana
如果是Kibana挂掉了,又2种方法,
第一种就是通过挂载卷修复(适合生产环境)
第二种就是直接修改 Kibana 配置(推荐)生产环境慎用!完成后需重新启用认证。
目前没有学挂载,使用第二种
到此这篇关于Docker部署ES+kibana的方法的文章就介绍到这了,更多相关Docker部署ES kibana内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
docker在自定义网络中安装ElasticSearch和Kibana的步骤
这篇文章主要介绍了docker在自定义网络中安装ElasticSearch和Kibana的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧2025-08-08
docker如何删除<none>/dangling/悬空镜像
这篇文章主要介绍了docker如何删除<none>/dangling/悬空镜像问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2023-11-11
docker及docker-compose安装,docker安装Jenkins全过程
本文详细介绍了在Linux系统上安装Docker、Docker Compose和Jenkins,并通过Jenkins自动化部署项目的步骤,文中涵盖了从卸载旧版本Docker到设置镜像加速、安装Jenkins、配置Jenkins插件以及通过Dockerfile构建镜像和启动容器的全过程2025-12-12
教你在docker 中搭建 PHP8 + Apache 环境的过程
这篇文章主要介绍了docker中搭建 PHP8 + Apache 环境,文章以安装 pdo-mysql 扩展为例介绍php安装扩展的详细过程,需要的朋友可以参考下2022-03-03
docker-compose部署zk+kafka+storm集群的实现
这篇文章主要介绍了docker-compose部署zk+kafka+storm集群,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2020-10-10


最新评论