如何使用Docker安装Elasticsearch及Kibana?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1117个文字,预计阅读时间需要5分钟。
目录+安装目标+安装ES
1.使用Docker拉取镜像
2.临时安装生成文件
3.设置外部数据卷
4.停止并删除临时容器
5.重新启动容器并挂载外部文件目录+安装Kibana
1.运行临时容器
2.创建本地挂载文件
3.停止容器
目录- 安装目标
- 安装es
- 1. docker pull
- 2. 临时安装生成文件
- 3. 设置外部数据卷
- 4. 停止并删除临时容器
- 5. 重新起容器并挂载外部文件夹
- 安装kibana
- 1. 运行临时容器
- 2. 创建本地挂载文件
- 3. 停掉临时容器并重新启动
- 4. 进入elasticsearch容器获取token
- 5. 进入kibana容器获取验证码
- 6. 重置elastic密码
- 为es和kibana设置密码
- 修改kibana的密码
- 安装elastic-head
使用docker安装elastic search和kibana,版本均为7.17.1
去dockerhub看具体版本,这里用7.17.1
docker pull elasticsearch:7.17.1
docker pull kibana:7.17.1
2. 临时安装生成文件
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.17.1
参数说明
-d后台启动–name起别名即:NAMES-p 9200:9200将端口映射出来
elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯-e "discovery.type=single-node"单节点启动-e ES_JAVA_OPTS="-Xms256m -Xmx256m"限制内存大小
确保成功启动
docker ps
3. 设置外部数据卷
- 执行
mkdir -p /data/elasticsearch/{config,data,logs,plugins}
yml
- 将容器内文件拷贝出来
docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/logs /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch
- 设置elasticsearch.yml的内容
vi /data/elasticsearch/config/elasticsearch.yml
- 确保有以下几个配置,原有的配置可以不改动
cluster.name: "docker-cluster"
network.hosts:0.0.0.0
# 跨域
localhost:9200"
{
"name" : "6a1036c69d59",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "0zgLiGhESGKQYTYy9gH4iA",
"version" : {
"number" : "7.17.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "e5acb99f822233d62d6444ce45a4543dc1c8059a",
"build_date" : "2022-02-23T22:20:54.153567231Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@iZuf6ai62xce7wexx4wwi9Z config]#
安装kibana
1. 运行临时容器
docker run -d --name kibana -p 5601:5601 kibana:7.17.1
2. 创建本地挂载文件
mkdir -p /data/kibana/config
docker cp kibana:/usr/share/kibana/config /data/kibana/
在本地就能看到拷贝出来的kibana.yml文件,
vim /data/kibana/config/kibana.yml
修改配置为
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.host: "0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "localhost:9100" ] # 记得修改ip
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
3. 停掉临时容器并重新启动
- 停掉旧的
docker stop kibana
docker rm kibana
- 重新启动挂载了地址的新的容器
docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.1
4. 进入elasticsearch容器获取token
-
访问kibana发现需要token
-
进入es容器获取token
docker exec -it {elastic_search_container_id} /bin/bash
bin/elasticsearch-create-enrollment-token --scope kibana
- 拷贝token到kibana的ui上输入
- 进入kibana容器获取token
docker exec -it kibana /bin/bash
# 执行生成验证码命令
bin/kibana-verification-code
6. 重置elastic密码
进入es容器
docker exec -it {elastic_search_container_id} /bin/bash
bin/elasticsearch-reset-password --username elastic -i
后面就使用elastic账户和密码登录kibana
为es和kibana设置密码- es开启x-pack
vim /data/elasticsearch/config/elasticsearch.yml
增加以下xpack.security.enabled
cluster.name: "docker-cluster-01"
network.host: 0.0.0.0
172.17.0.3:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
# 此处设置elastic的用户名和密码
elasticsearch.username: elastic
elasticsearch.password: "123456"
- 重启容器
docker restart kibana
安装elastic-head
docker run -d \
--name=elasticsearch-head \
-p 9100:9100 \
mobz/elasticsearch-head:5-alpine
- 连接集群 不能连localhost:9200,而是
{ip}:9200/
- 后续带x-pack的认证信息的访问
- url上带上用户名密码
{ip}:9100/?auth_user=elastic&auth_password=123456
本文共计1117个文字,预计阅读时间需要5分钟。
目录+安装目标+安装ES
1.使用Docker拉取镜像
2.临时安装生成文件
3.设置外部数据卷
4.停止并删除临时容器
5.重新启动容器并挂载外部文件目录+安装Kibana
1.运行临时容器
2.创建本地挂载文件
3.停止容器
目录- 安装目标
- 安装es
- 1. docker pull
- 2. 临时安装生成文件
- 3. 设置外部数据卷
- 4. 停止并删除临时容器
- 5. 重新起容器并挂载外部文件夹
- 安装kibana
- 1. 运行临时容器
- 2. 创建本地挂载文件
- 3. 停掉临时容器并重新启动
- 4. 进入elasticsearch容器获取token
- 5. 进入kibana容器获取验证码
- 6. 重置elastic密码
- 为es和kibana设置密码
- 修改kibana的密码
- 安装elastic-head
使用docker安装elastic search和kibana,版本均为7.17.1
去dockerhub看具体版本,这里用7.17.1
docker pull elasticsearch:7.17.1
docker pull kibana:7.17.1
2. 临时安装生成文件
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms256m -Xmx256m" elasticsearch:7.17.1
参数说明
-d后台启动–name起别名即:NAMES-p 9200:9200将端口映射出来
elasticsearch的9200端口是供外部访问使用;9300端口是供内部访问使用集群间通讯-e "discovery.type=single-node"单节点启动-e ES_JAVA_OPTS="-Xms256m -Xmx256m"限制内存大小
确保成功启动
docker ps
3. 设置外部数据卷
- 执行
mkdir -p /data/elasticsearch/{config,data,logs,plugins}
yml
- 将容器内文件拷贝出来
docker cp elasticsearch:/usr/share/elasticsearch/config /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/logs /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/data /data/elasticsearch
docker cp elasticsearch:/usr/share/elasticsearch/plugins /data/elasticsearch
- 设置elasticsearch.yml的内容
vi /data/elasticsearch/config/elasticsearch.yml
- 确保有以下几个配置,原有的配置可以不改动
cluster.name: "docker-cluster"
network.hosts:0.0.0.0
# 跨域
localhost:9200"
{
"name" : "6a1036c69d59",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "0zgLiGhESGKQYTYy9gH4iA",
"version" : {
"number" : "7.17.1",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "e5acb99f822233d62d6444ce45a4543dc1c8059a",
"build_date" : "2022-02-23T22:20:54.153567231Z",
"build_snapshot" : false,
"lucene_version" : "8.11.1",
"minimum_wire_compatibility_version" : "6.8.0",
"minimum_index_compatibility_version" : "6.0.0-beta1"
},
"tagline" : "You Know, for Search"
}
[root@iZuf6ai62xce7wexx4wwi9Z config]#
安装kibana
1. 运行临时容器
docker run -d --name kibana -p 5601:5601 kibana:7.17.1
2. 创建本地挂载文件
mkdir -p /data/kibana/config
docker cp kibana:/usr/share/kibana/config /data/kibana/
在本地就能看到拷贝出来的kibana.yml文件,
vim /data/kibana/config/kibana.yml
修改配置为
#
# ** THIS IS AN AUTO-GENERATED FILE **
#
# Default Kibana configuration for docker target
server.host: "0"
server.shutdownTimeout: "5s"
elasticsearch.hosts: [ "localhost:9100" ] # 记得修改ip
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
3. 停掉临时容器并重新启动
- 停掉旧的
docker stop kibana
docker rm kibana
- 重新启动挂载了地址的新的容器
docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.1
4. 进入elasticsearch容器获取token
-
访问kibana发现需要token
-
进入es容器获取token
docker exec -it {elastic_search_container_id} /bin/bash
bin/elasticsearch-create-enrollment-token --scope kibana
- 拷贝token到kibana的ui上输入
- 进入kibana容器获取token
docker exec -it kibana /bin/bash
# 执行生成验证码命令
bin/kibana-verification-code
6. 重置elastic密码
进入es容器
docker exec -it {elastic_search_container_id} /bin/bash
bin/elasticsearch-reset-password --username elastic -i
后面就使用elastic账户和密码登录kibana
为es和kibana设置密码- es开启x-pack
vim /data/elasticsearch/config/elasticsearch.yml
增加以下xpack.security.enabled
cluster.name: "docker-cluster-01"
network.host: 0.0.0.0
172.17.0.3:9200" ]
monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"
# 此处设置elastic的用户名和密码
elasticsearch.username: elastic
elasticsearch.password: "123456"
- 重启容器
docker restart kibana
安装elastic-head
docker run -d \
--name=elasticsearch-head \
-p 9100:9100 \
mobz/elasticsearch-head:5-alpine
- 连接集群 不能连localhost:9200,而是
{ip}:9200/
- 后续带x-pack的认证信息的访问
- url上带上用户名密码
{ip}:9100/?auth_user=elastic&auth_password=123456

