本文以7.4.2版本为例
1.下载镜像
1.1下载es
docker pull elasticsearch:7.4.2

1.2下载可视化操作界面
docker pull kibana:7.4.2

2.创建实例
2.1准备工作
将http.host:0.0.0.0写入配置文件表示elasticsearch可以被远程的任何机器所访问
mkdir -p /docker_data/elasticsearch/config
mkdir -p /docker_data/elasticsearch/data
echo "http.host: 0.0.0.0">>/docker_data/elasticsearch/config/elasticsearch.yml
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /docker_data/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /docker_data/elasticsearch/data:/usr/share/elasticsearch/data -v /docker_data/elasticsearch/plugins:/usr/share/elasticsearch/plugins -d elasticsearch:7.4.2
参数解释:
1. -p 9200:9200 -p 9300:9300:为暴露两个端口。9200是发送http请求时向es发起请求的端口,9300是es在分布式集群状态下节点间的通信端口
2. -e "discovery.type=single-node" :指定es以单节点运行
3. -e ES_JAVA_OPTS="-Xms64m -Xmx128m":此参数很重要,如果不指定该参数,es启动会将虚拟机内存全部占用
问题

因为数据是挂在到虚拟机目录下由于用户权限原因不能访问目录
将/docker_data/elasticsearch目录下的目录更改权限为所有用户组都读写以及执行权限

测试访问可成功

2.2安装Kibana
docker run --name kibana -e ELASTICSEARCH_URL=http://192.168.254.128:9200 -p 5601:5601 -d kibana:7.4.2

问题

本以为是kibana启动需要时间,但是过了一分多钟也未启动
查看日志为下:

容器启动的时候, es主机的没有设置正确
解决方法:
进入容器
docker exec -it kibana /bin/bash

修改config/kibana.yml文件

重启kibana

上述操作还是不行,在kibana容器中使用 curl 192.168.254.128:9200发现不能访问
于是想使用elasticsearch容器本身的ip
docker inspect elasticsearch

在kibana.yml文件把ip改成这个后,重启了elasticsearch与kibana后成功

本文介绍如何部署Elasticsearch 7.4.2版本及其可视化工具Kibana,并详细记录了在配置过程中遇到的问题及解决方案,包括权限设置、网络配置调整等。
Docker 安装elasticsearch&spm=1001.2101.3001.5002&articleId=109460813&d=1&t=3&u=bb886a69352d4905bc9f337675a8eb84)
738

被折叠的 条评论
为什么被折叠?



