docker快速安装Es和kibana的实现步骤

 更新时间:2024年03月27日 08:32:46   作者:pigfu  
在工作过程中,经常需要测试环境搭建Es环境,本文主要介绍了docker快速安装Es和kibana,具有一定的参考价值,感兴趣的可以了解一下

概要

在工作过程中,经常需要测试环境搭建Es环境,本文基于Es V8.12.2来演示如何快速搭建单节点Es和kibana。

服务器默认已按装docker

一、Es

1:拉取镜像

docker pull elasticsearch:8.12.2

2:准备环境

mkdir -p /home/docker/es  #创建挂载目录
mkdir -p /home/docker/es/logs
chmod 777 /home/docker/es/logs #授权
mkdir -p /home/docker/es/data
chmod 777 /home/docker/es/data #授权
docker run -d --name es_temp -p 9200:9200 -p 9300:9300 elasticsearch:8.12.2 #起一个临时容器
docker cp es_temp:/usr/share/elasticsearch/config /home/docker/es/  #复制Es配置文件
docker rm es_temp #删除临时容器

3:修改配置文件
vim /home/docker/es/config/elasticsearch.yml配置文件默认是集群配置,而我们测试环境只需单节点,所以要调整如下:

cluster.name: "docker-single"
network.host: 0.0.0.0

#----------------------- BEGIN SECURITY AUTO CONFIGURATION -----------------------
#
# The following settings, TLS certificates, and keys have been automatically
# generated to configure Elasticsearch security features on 20-03-2024 19:23:28
#
# --------------------------------------------------------------------------------

# Enable security features
xpack.security.enabled: false  #关闭认证

xpack.security.enrollment.enabled: true

# Enable encryption for HTTP API client connections, such as Kibana, Logstash, and Agents
xpack.security.http.ssl:
  enabled: true
  keystore.path: certs/http.p12

# Enable encryption and mutual authentication between cluster nodes
xpack.security.transport.ssl:
  enabled: true
  verification_mode: certificate
  keystore.path: certs/transport.p12
  truststore.path: certs/transport.p12
# Create a new ciluster with the current node only
discovery.type: single-node  #单节点模式
# Additional nodes can still join the cluster later
#cluster.initial_master_nodes: ["986f0573b289"]

#----------------------- END SECURITY AUTO CONFIGURATION -------------------------

4:启动容器

docker run --privileged -d --name es -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -v /home/docker/es/config:/usr/share/elasticsearch/config -v /home/docker/es/data:/usr/share/elasticsearch/data -v /home/docker/es/logs:/usr/share/elasticsearch/logs -p 9200:9200 -p 9300:9300 elasticsearch:8.12.2

5:检测

curl -X GET http://127.0.0.1:9200/_cluster/health?pretty
{
  "cluster_name" : "docker-single",
  "status" : "green",
  "timed_out" : false,
  "number_of_nodes" : 1,
  "number_of_data_nodes" : 1,
  "active_primary_shards" : 0,
  "active_shards" : 0,
  "relocating_shards" : 0,
  "initializing_shards" : 0,
  "unassigned_shards" : 0,
  "delayed_unassigned_shards" : 0,
  "number_of_pending_tasks" : 0,
  "number_of_in_flight_fetch" : 0,
  "task_max_waiting_in_queue_millis" : 0,
  "active_shards_percent_as_number" : 100.0
}

二、kibana

与Es兼容的kibana版本,按需拉取镜像即可。
1:拉取镜像

docker pull kibana:8.12.2

2:启动容器
kibana就不挂载了,其配置文件/usr/share/kibana/config/kibana.yml,也可以挂载出来做一些配置。

docker run -d --name kibana -p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://200.200.107.192:9200 \ #Es Url
-e ELASTICSEARCH_USERNAME=root \  #Es 账号,Es不开启认证可不设置
-e ELASTICSEARCH_PASSWORD=123456  \ #Es 密码 ,Es不开启认证可不设置
-e I18N_LOCALE=zh-CN \ #汉化
kibana:8.12.2

3:检测
浏览器访问宿主机ip:5601,即可验证,成功如下:

kibana

三、dcoker compose管理

我们可以用docker compose管理es和kibana。

mkdir -p /etc/docker
vim /etc/docker/docker-compose.yml

内容如下:

# yaml 配置
version: '3'
services:
  es:
    image: "elasticsearch:8.12.2"
    privileged: true
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - "/home/docker/es/config:/usr/share/elasticsearch/config"
      - "/home/docker/es/data:/usr/share/elasticsearch/data"
      - "/home/docker/es/logs:/usr/share/elasticsearch/logs"
    environment:
      - ES_JAVA_OPTS=-Xms512m -Xmx512m
      - TZ=Asia/Shanghai
    container_name: "es"
  kibana_srv:
    image: "kibana:8.12.2"
    ports:
      - "5601:5601"
    environment:
      - ELASTICSEARCH_HOSTS=http://200.200.107.192:9200
      - ELASTICSEARCH_USERNAME=root
      - ELASTICSEARCH_PASSWORD=123456
      - I18N_LOCALE=zh-CN
    container_name: "kibana"
docker compose -f /etc/docker/docker-compose.yml up es
docker compose -f /etc/docker/docker-compose.yml stop es
docker compose -f /etc/docker/docker-compose.yml up kibana_srv
docker compose -f /etc/docker/docker-compose.yml stop kibana_srv

四、参考

1]:Docker 容器中运行 Kibana

2]:Kibana 的安装

到此这篇关于docker快速安装Es和kibana的文章就介绍到这了,更多相关docker快速安装Es和kibana内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • docker-compose部署redis报错ERR Client sent AUTH, but no password is set问题及解决

    docker-compose部署redis报错ERR Client sent AUTH,&

    这篇文章主要介绍了docker-compose部署redis报错ERR Client sent AUTH, but no password is set问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-10-10
  • docker-compose编排单体nacos、rabbitmq、redis基础服务详解

    docker-compose编排单体nacos、rabbitmq、redis基础服务详解

    这篇文章主要介绍了docker-compose编排单体nacos、rabbitmq、redis基础服务,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-04-04
  • docker安装prometheus和grafana的详细过程

    docker安装prometheus和grafana的详细过程

    prometheus通过各种Exporter采集到监控数据,然后存储进prometheus中,以供查询展示,这篇文章主要介绍了docker安装prometheus和grafana,需要的朋友可以参考下
    2023-02-02
  • Docker安装Elasticsearch的实现示例

    Docker安装Elasticsearch的实现示例

    本文主要介绍了在Docker环境下安装和ockerSearch、Kibana及IK分词器的步骤,并并包括配置项设置D以及常用命令使用方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧
    2026-04-04
  • Docker安装beef-xss的步骤

    Docker安装beef-xss的步骤

    这篇文章主要介绍了Docker安装beef-xss的步骤,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-04-04
  • Docker启动容器报错:Ports are not available的解决方案

    Docker启动容器报错:Ports are not available的解决方案

    这篇文章主要介绍了Docker启动容器报错:Ports are not available的解决方案,Docker 将容器程序的端口号映射到宿主机的端口号,是一个 NAT 过程,这个过程可能会因为与 Windows NAT 服务冲突而失效,文中有详细的解决方案,需要的朋友可以参考下
    2024-03-03
  • 基于VS Code的Docker调试环境搭建过程

    基于VS Code的Docker调试环境搭建过程

    本文详细介绍了如何在VSCode中配置和使用Docker容器进行Autoware项目的开发调试,通过安装Docker和VSCode插件,配置开发容器,挂载本地目录,以及使用colcon编译项目,使得开发环境更加高效和一致
    2026-02-02
  • Docker容器磁盘占满的一些情况汇总

    Docker容器磁盘占满的一些情况汇总

    这篇文章主要给大家介绍了关于Docker容器磁盘占满的一些情况,文中通过示例代码介绍的非常详细,对大家学习或者使用Docker具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • Docker部署Gitlab的详细教程

    Docker部署Gitlab的详细教程

    这篇文章主要介绍了Docker部署Gitlab的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2025-05-05
  • docker 限制容器对CPU的使用

    docker 限制容器对CPU的使用

    本篇文章主要介绍了docker 限制容器对CPU的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08

最新评论