如何使用Docker安装Elasticsearch及Kibana?

2026-05-19 20:511阅读0评论SEO资讯
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1117个文字,预计阅读时间需要5分钟。

如何使用Docker安装Elasticsearch及Kibana?

目录+安装目标+安装ES

1.使用Docker拉取镜像

2.临时安装生成文件

3.设置外部数据卷

4.停止并删除临时容器

如何使用Docker安装Elasticsearch及Kibana?

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 searchkibana,版本均为7.17.1

安装es 1. docker pull

去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. 设置外部数据卷

  1. 执行

mkdir -p /data/elasticsearch/{config,data,logs,plugins} yml

  1. 将容器内文件拷贝出来

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

  1. 设置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. 停掉临时容器并重新启动

  1. 停掉旧的

docker stop kibana docker rm kibana

  1. 重新启动挂载了地址的新的容器

docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.1 4. 进入elasticsearch容器获取token

  1. 访问kibana发现需要token

  2. 进入es容器获取token

docker exec -it {elastic_search_container_id} /bin/bash bin/elasticsearch-create-enrollment-token --scope kibana

  1. 拷贝token到kibana的ui上输入
5. 进入kibana容器获取验证码
  1. 进入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设置密码
  1. 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"

  1. 重启容器

docker restart kibana 安装elastic-head

docker run -d \ --name=elasticsearch-head \ -p 9100:9100 \ mobz/elasticsearch-head:5-alpine

  1. 连接集群 不能连localhost:9200,而是

{ip}:9200/

  1. 后续带x-pack的认证信息的访问
  • url上带上用户名密码

{ip}:9100/?auth_user=elastic&auth_password=123456

本文共计1117个文字,预计阅读时间需要5分钟。

如何使用Docker安装Elasticsearch及Kibana?

目录+安装目标+安装ES

1.使用Docker拉取镜像

2.临时安装生成文件

3.设置外部数据卷

4.停止并删除临时容器

如何使用Docker安装Elasticsearch及Kibana?

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 searchkibana,版本均为7.17.1

安装es 1. docker pull

去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. 设置外部数据卷

  1. 执行

mkdir -p /data/elasticsearch/{config,data,logs,plugins} yml

  1. 将容器内文件拷贝出来

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

  1. 设置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. 停掉临时容器并重新启动

  1. 停掉旧的

docker stop kibana docker rm kibana

  1. 重新启动挂载了地址的新的容器

docker run -d --name kibana -p 5601:5601 -v /data/kibana/config:/usr/share/kibana/config kibana:7.17.1 4. 进入elasticsearch容器获取token

  1. 访问kibana发现需要token

  2. 进入es容器获取token

docker exec -it {elastic_search_container_id} /bin/bash bin/elasticsearch-create-enrollment-token --scope kibana

  1. 拷贝token到kibana的ui上输入
5. 进入kibana容器获取验证码
  1. 进入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设置密码
  1. 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"

  1. 重启容器

docker restart kibana 安装elastic-head

docker run -d \ --name=elasticsearch-head \ -p 9100:9100 \ mobz/elasticsearch-head:5-alpine

  1. 连接集群 不能连localhost:9200,而是

{ip}:9200/

  1. 后续带x-pack的认证信息的访问
  • url上带上用户名密码

{ip}:9100/?auth_user=elastic&auth_password=123456