一、下载ES及Kibana
docker pull kibana:7.12.0
docker pull elasticsearch:7.12.0
二、创建网络
因为ES连同kibana容器一块部署,需要让es和kibana容器互联。需要创建一个专有网络:
docker network create es-net
三、安装ES
1、创建挂载文件并赋权限
mkdir -p /opt/elasticsearch/data
mkdir -p /opt/elasticsearch/plugins
chmod -R 777 /opt/elasticsearch/
2、运行docker命令,部署单点es:
docker run -d --name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v /opt/elasticsearch/logs:/usr/share/elasticsearch/logs \
-v /opt/elasticsearch/data:/usr/share/elasticsearch/data \
-v /opt/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.0
命令解释:
-
-e "cluster.name=es-docker-cluster":设置集群名称,本次单机模式,无需设置
-
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m":内存大小
-
-e "discovery.type=single-node":非集群模式
-
-v es-data:/usr/share/elasticsearch/data:挂载逻辑卷,绑定es的数据目录
-
-v es-logs:/usr/share/elasticsearch/logs:挂载逻辑卷,绑定es的日志目录
-
-v es-plugins:/usr/share/elasticsearch/plugins:挂载逻辑卷,绑定es的插件目录
-
--privileged:授予逻辑卷访问权
-
--network es-net :加入一个名为es-net的网络中
-
-p 9200:9200:端口映射配置3
检查是否ES是否启动
docker ps -a 状态为up
宿主机访问http://192.168.31.12:9200 看到如下返回结果
至此完成ES安装
3、运行Kibana
docker run -d --name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network es-net \
-p 5601:5601 kibana:7.12.0
命令讲解:
-
--network es-net :加入一个名为es-net的网络中,与elasticsearch在同一个网络中
-
-e ELASTICSEARCH_HOSTS=http://es:9200:设置elasticsearch的地址,因为kibana已经与elasticsearch在一个网络,因此可以用容器名直接访问elasticsearch
-
-p 5601:5601:端口映射配置
检查Kibana安装结果
在宿主机浏览器中访问:http://192.168.31.12:5601
至此,Kibana安装完成