docker在自定义网络中安装ElasticSearch和Kibana的步骤

 更新时间:2025年08月26日 09:45:34   作者:dxt_snow  
这篇文章主要介绍了docker在自定义网络中安装ElasticSearch和Kibana的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧

创建自定义网络

创建一个名为 es-net 的桥接网络。这将作为 Elasticsearch 和 Kibana 的私有通信通道。

# 创建网络
docker network create es-net
# 查看网络是否创建成功
docker network ls

启动 Elasticsearch 容器

安装命令

docker run -d \
  --name elasticsearch \
  --network es-net \
  -p 9200:9200 \
  -p 9300:9300 \
  -e "discovery.type=single-node" \
  -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
  -v es_data:/usr/share/elasticsearch/data \
  docker.elastic.co/elasticsearch/elasticsearch:8.11.0

参数解释

  1. -d:在后台运行容器(守护进程模式)。
  2. –name elasticsearch:为容器指定一个名称,后续 Kibana 将通过这个名称 elasticsearch 来访问它。
  3. –network es-net:将容器连接到刚创建的自定义网络。
  4. -p 9200:9200:将容器的 9200 端口(HTTP API 端口)映射到宿主机的 9200 端口,以便从宿主机访问。
  5. -p 9300:9300:将容器的 9300 端口(节点间通信端口)映射出来,通常其他 Elasticsearch 节点会通过这个端口通信,单节点模式下非必须,但建议保留。
  6. -e “discovery.type=single-node”:设置 Elasticsearch 为单节点模式,简化配置。
  7. -e “ES_JAVA_OPTS=-Xms512m -Xmx512m”:为 Elasticsearch 分配 512MB 的堆内存。
  8. -v es_data:/usr/share/elasticsearch/data:将数据目录挂载到名为 es_data 的 Docker 卷中,防止容器删除后数据丢失。
  9. docker.elastic.co/…:8.11.0:指定使用的镜像和版本。

安装验证

通过网页访问9200端口,提示要输入用户和密码。
但是在安装时没有为ES设置用户名和密码,查找资料发现ES会有个默认超级用户elastic,但是需要我们手动为这个用户设置密码。

ES设置密码

  1. 进入容器
    使用 docker exec 命令以交互模式(-it)进入正在运行的容器。
docker exec -it elasticsearch /bin/bash
  1. 在容器内执行密码设置命令
    Elasticsearch 提供了内置的 elasticsearch-setup-passwords 工具来批量设置所有内置用户的密码。
    重要提示: 此命令会为所有内置用户(如 elastic, kibana_system, apm_system 等)设置新密码。如果你不是首次设置,它将重置所有密码(ps:elastic)。
# 使用 interactive (交互) 模式
elasticsearch-setup-passwords interactive

再次安装验证

输入用户及密码后,验证成功

启动Kibana容器

启动命令

docker run -d \
  --name kibana \
  --network es-net \
  -p 5601:5601 \
  -v /usr/share/elasticsearch/config/certs/http_ca.crt:/usr/share/elasticsearch/config/certs/http_ca.crt:ro \
  -e "ELASTICSEARCH_HOSTS=https://elasticsearch:9200" \
  -e "ELASTICSEARCH_USERNAME=kibana_system" \
  -e "ELASTICSEARCH_PASSWORD=***" \
  -e "ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/elasticsearch/config/certs/http_ca.crt" \
  -e "ELASTICSEARCH_SSL_VERIFICATIONMODE=certificate" \
  docker.elastic.co/kibana/kibana:8.11.0

参数解释

  1. –name kibana:为容器指定名称。
  2. –network es-net:让 Kibana 容器加入到与 Elasticsearch 同一个自定义网络中。
  3. -p 5601:5601:将容器的 5601 端口映射到宿主机的 5601 端口。
  4. -v /usr/share/elasticsearch/config/certs/http_ca.crt:/usr/share/elasticsearch/config/certs/http_ca.crt:ro:将ES生成的认证证书挂载到容器内,kibana容器启动时会访问
  5. -e “ELASTICSEARCH_HOSTS=http://elasticsearch:9200”:关键! 这里设置了 Elasticsearch 的 URL。注意,主机名用的就是 Elasticsearch 容器的名称 elasticsearch。这是因为在自定义网络 elastic-net 中,Docker 内置的 DNS 服务会自动将容器名称解析为其内部 IP 地址。
  6. -e “ELASTICSEARCH_USERNAME=kibana_system”:8.x版本的es默认开启了安全认证,使用kibana_system用户连接
  7. -e “ELASTICSEARCH_PASSWORD=***”:8.x版本的es需要连接密码,在此使用kibana_system用户访问es的密码。
  8. -e “ELASTICSEARCH_SSL_CERTIFICATEAUTHORITIES=/usr/share/elasticsearch/config/certs/http_ca.crt”: 告诉 Kibana CA 证书的路径
  9. -e “ELASTICSEARCH_SSL_VERIFICATIONMODE=certificate”:启动时验证证书
  10. docker.elastic.co/…:8.11.0:Kibana 的版本必须与 Elasticsearch 的版本一致。

安装验证

访问ES端口,因为开启了安全认证,输入ES超级用户elastic的用户名及密码即可登录。

安装IK分词器

下载IK分词器

ik分词器下载地址
下载版本和ES版本保持一致:8.11.0

安装

  1. 直接通过数据卷共享将zip文件同步到容器中的挂载点目录下
  2. 安装
bin/elasticsearch-plugin install file:///usr/share/elasticsearch/data/elasticsearch-analysis-ik-8.11.0.zip

验证

到此这篇关于docker在自定义网络中安装ElasticSearch和Kibana的步骤的文章就介绍到这了,更多相关docker安装ElasticSearch和Kibana内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解docker进行数据挂载的三种模式

    详解docker进行数据挂载的三种模式

    Docker 提供了三种方式将数据从宿主机挂载到 Docker容器中: volumes、bind mounts、tmpfs ,这篇文章主要介绍了docker进行数据挂载的三种模式,需要的朋友可以参考下
    2022-05-05
  • 阿里云安装docker全过程

    阿里云安装docker全过程

    这篇文章主要介绍了阿里云安装docker全过程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • docker image删不掉的解决办法

    docker image删不掉的解决办法

    在使用Docker的时候遇到删不掉image的情况,怎么回事,如何解决呢?下面小编给大家分享下docker image删不掉的解决办法,需要的朋友参考下吧
    2017-01-01
  • 使用Dockerfile.dockerignore提升Docker镜像构建速度

    使用Dockerfile.dockerignore提升Docker镜像构建速度

    这篇文章主要为大家介绍了使用Dockerfile.dockerignore提升Docker镜像构建速度,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-10-10
  • Docker 下MySQL数据库的备份和恢复的操作方法

    Docker 下MySQL数据库的备份和恢复的操作方法

    这篇文章主要介绍了Docker 下MySQL数据库的备份和恢复操作方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • Docker的安装方法及运行Docker Swarm模式的使用

    Docker的安装方法及运行Docker Swarm模式的使用

    本文给大家简单介绍docker的安装以及1.12版本的swarm模式的使用,包括docker的安装和配置,对docker swarm简单使用感兴趣的朋友一起看看吧
    2016-11-11
  • Docker部署Jenkins持续集成(CI)工具的实现

    Docker部署Jenkins持续集成(CI)工具的实现

    Jenkins 是一个流行的开源自动化工具,广泛应用于持续集成(CI)和持续交付(CD)的环境中,本文介绍了使用Docker部署Jenkins,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2025-02-02
  • Docker安装Redis并使用Another Redis Desktop Manager连接的方法

    Docker安装Redis并使用Another Redis Desktop Manager连接的方法

    Redis 是一个使用C语言编写的、开源的(遵守 BSD 协议)、高性能的、支持网络、可基于内存亦可持久化的日志型、Key-Value的NoSQL数据库,这篇文章主要介绍了Docker安装Redis并使用Another Redis Desktop Manager连接,需要的朋友可以参考下
    2022-09-09
  • Docker重命名镜像名称和TAG操作

    Docker重命名镜像名称和TAG操作

    这篇文章主要介绍了Docker重命名镜像名称和TAG操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 使用Docker搭建Apache Kafka环境的详细过程

    使用Docker搭建Apache Kafka环境的详细过程

    这篇文章主要介绍了使用Docker搭建Apache Kafka环境,本文使用Docker技术创建单个Kafka节点和Kafka集群环境,并且使用可视化工具连接服务查看代理服务器的配置信息,需要的朋友可以参考下
    2022-10-10

最新评论