Docker 搭建 elasticsearch + kibana+ elasticsearch-head

前言

公司准备使用elasticsearch做数据检索,记录下自己用Docker搭建elasticsearch + kibana+ elasticsearch-head环境的步骤和遇到的坑。

环境

1.Centos7
2.Docker

准备

1.安装Docker,配置好加速镜像,要不然拉取镜像太慢。
2.开放云服务器安全组和本服务器端口:9100、9200、9300、5601

步骤

1.拉取Docker镜像

拉取的elasticsearch和kibana镜像版本要一样

#elasticsearch镜像
docker pull elasticsearch:7.5.0

#kibana镜像
docker pull kibana:7.5.0

#elasticsearch-head镜像
docker pull mobz/elasticsearch-head:5

2.自定义一个Docker网络

自定义一个名为elk的网络,elasticsearch、kibana、elasticsearch-head要在同一网络内

docker network create --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 elk

3.elasticsearch容器

1.在 /home/docker/elasticsearch/config/下新建一个elasticsearch.yml

#elasticsearch的默认配置
cluster.name: "docker-cluster"
network.host: 0.0.0.0
#解决跨域
http.cors.enabled: true
http.cors.allow-origin: "*"

2.挂载的本地目录和文件权限要是777,目录权限不够,镜像会运行失败

chmod 777 /home/docker/elasticsearch

3.把容器内的config、data、plugins文件挂载到本地保证数据安全和方便管理配置

docker run --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx128m" -v /home/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v /home/docker/elasticsearch/data:/usr/share/elasticsearch/data -v /home/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins --net elk -d elasticsearch:7.5.0
--name 容器名
-p 使用的端口号
-e 容器内的配置
-v 挂载的文件路径
--net 网络名
-d 后台运行模式

4.访问 http://自己服务ip:9200/

4.kibana容器

1.运行kibana镜像

#-e ELASTICSEARCH_HOSTS=自己服务器ip:9200

docker run --name kibana --net elk -e ELASTICSEARCH_HOSTS=122.51.242.133:9200  -p 5601:5601 -d kibana:7.5.0

2.访问 http://自己服务ip:5601

5.elasticsearch-head容器

1.运行elasticsearch-head镜像

docker run -d --name es_head --net elk -p 9100:9100 mobz/elasticsearch-head:5

2.访问 http://自己服务ip:9100

最后

elasticsearch + kibana+ elasticsearch-head环境就搭建完了,下次记录logstash在docker下的使用和安装。

添加新评论

-->