Docker安装Elasticsearch的实现示例

 更新时间:2026年04月16日 08:32:47   作者:别掉进我的异常  
本文主要介绍了在Docker环境下安装和ockerSearch、Kibana及IK分词器的步骤,并并包括配置项设置D以及常用命令使用方法,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来一起学习学习吧

一、安装 Elasticsearch

(一)创建 Docker 网络

因为后续还需要部署 Kibana 容器,所以需要让 Elasticsearch 和 Kibana 容器互联。创建一个 Docker 网络:

docker network create es-net

(二)拉取 Elasticsearch 镜像

以安装 Elasticsearch 8.6.0 版本为例,执行以下命令拉取镜像:

docker pull elasticsearch:8.6.0

(三)创建挂载点目录

创建用于挂载数据、配置和插件的目录,并设置权限:

mkdir -p /usr/local/es/data /usr/local/es/config /usr/local/es/plugins
chmod 777 /usr/local/es/data
chmod 777 /usr/local/es/config
chmod 777 /usr/local/es/plugins

(四)部署单点 Elasticsearch 容器

运行以下命令启动 Elasticsearch 容器:

docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
elasticsearch:8.6.0

(五)关闭安全验证(可选)

进入 Elasticsearch 容器,关闭安全验证功能:

docker exec -it es /bin/bash
cd config
echo 'xpack.security.enabled: false' >> elasticsearch.yml

(六)重启 Elasticsearch 容器

退出容器后,重启容器以使配置生效:

docker restart es

(七)测试 Elasticsearch 是否安装成功

访问 http://<服务器IP>:9200,如果返回类似以下内容,说明安装成功:

{
  "name" : "es",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "xxxxxx",
  "version" : {
    "number" : "8.6.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "xxxxxx",
    "build_date" : "xxxxxx",
    "build_snapshot" : false,
    "lucene_version" : "xxxxxx",
    "minimum_wire_compatibility_version" : "xxxxxx",
    "minimum_index_compatibility_version" : "xxxxxx"
  },
  "tagline" : "You Know, for Search"
}

二、安装 Kibana

(一)拉取 Kibana 镜像

拉取与 Elasticsearch 版本匹配的 Kibana 镜像:

docker pull kibana:8.6.0

(二)创建挂载点目录

创建用于挂载 Kibana 数据和配置的目录,并设置权限:

mkdir -p /usr/local/kibana/config /usr/local/kibana/data
chmod 777 /usr/local/kibana/data
chmod 777 /usr/local/kibana/config

(三)部署 Kibana 容器

运行以下命令启动 Kibana 容器:

docker run -d \
--restart=always \
--name kibana \
--network es-net \
-p 5601:5601 \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
kibana:8.6.0

(四)测试 Kibana 是否安装成功

访问 http://<服务器IP>:5601,如果能够正常访问 Kibana 的 Web 界面,说明安装成功。

三、安装 IK 分词器

(一)进入 Elasticsearch 容器

docker exec -it es /bin/bash

(二)安装 IK 分词器

在容器内执行以下命令安装 IK 分词器:

./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v8.6.0/elasticsearch-analysis-ik-8.6.0.zip

(三)重启 Elasticsearch 容器

退出容器后,重启 Elasticsearch 容器以使插件生效:

docker restart es

四、Elasticsearch 常用配置

(一)修改 Elasticsearch 配置文件

进入容器的配置目录,编辑 elasticsearch.yml 文件:

docker exec -it es /bin/bash
cd config
vim elasticsearch.yml

常见的配置项包括:

  • cluster.name:设置集群名称
  • node.name:设置节点名称
  • path.data:设置数据存储路径
  • path.logs:设置日志存储路径
  • network.host:设置绑定的网络接口
  • http.port:设置 HTTP 服务端口

(二)设置 JVM 堆大小

通过环境变量 ES_JAVA_OPTS 设置 JVM 堆大小,例如:

docker run -d \
--restart=always \
--name es \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
--privileged \
-v /usr/local/es/data:/usr/share/elasticsearch/data \
-v /usr/local/es/plugins:/usr/share/elasticsearch/plugins \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms2g -Xmx2g" \
elasticsearch:8.6.0

五、Elasticsearch 常用命令

(一)索引操作

创建索引

curl -X PUT "http://<服务器IP>:9200/my_index" -H 'Content-Type: application/json' -d'
{
  "settings": {
    "number_of_shards": 3,
    "number_of_replicas": 2
  }
}
'

删除索引

curl -X DELETE "http://<服务器IP>:9200/my_index"

查看索引

curl -X GET "http://<服务器IP>:9200/_cat/indices?v"

(二)文档操作

添加文档

curl -X POST "http://<服务器IP>:9200/my_index/_doc/1" -H 'Content-Type: application/json' -d'
{
  "field1": "value1",
  "field2": "value2"
}
'

查询文档

curl -X GET "http://<服务器IP>:9200/my_index/_doc/1"

更新文档

curl -X POST "http://<服务器IP>:9200/my_index/_doc/1/_update" -H 'Content-Type: application/json' -d'
{
  "doc": {
    "field1": "new_value1"
  }
}
'

删除文档

curl -X DELETE "http://<服务器IP>:9200/my_index/_doc/1"

(三)集群状态查询

curl -X GET "http://<服务器IP>:9200/_cluster/health?pretty"

六、总结

通过以上步骤,你可以在 Docker 上成功安装 Elasticsearch,并配置常用的网络、数据挂载和插件安装。掌握这些常用命令,可以帮助你更高效地管理和使用 Elasticsearch 集群。如果在使用过程中遇到任何问题,可以参考 Elasticsearch 官方文档 或社区寻求帮助。

到此这篇关于Docker安装Elasticsearch的实现示例的文章就介绍到这了,更多相关Docker安装Elasticsearch内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Docker镜像源配置的超全指南(Windows/Mac/Linux一键搞定)

    Docker镜像源配置的超全指南(Windows/Mac/Linux一键搞定)

    做开发、搭环境的小伙伴肯定都遇到过这种崩溃时刻,Docker拉取官方镜像慢到离谱,要么超时报错,要么中途断连,Docker拉取官方镜像慢到离谱,要么超时报错,要么中途断连,覆盖Linux、Windows/Mac版Docker Desktop,需要的朋友可以参考下
    2026-03-03
  • dubbo服务引用创建Invoker代理对象

    dubbo服务引用创建Invoker代理对象

    这篇文章主要为大家介绍了dubbo服务引用创建Invoker代理对象示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 解读Dockerfile中CMD和ENTRYPOINT是否可以混着用

    解读Dockerfile中CMD和ENTRYPOINT是否可以混着用

    在Dockerfile中,CMD和ENTRYPOINT可以混着用,CMD指定默认命令,ENTRYPOINT指定启动命令,CMD可以被docker run命令的参数覆盖
    2025-03-03
  • 如何使用Docker Desktop部署GitLab

    如何使用Docker Desktop部署GitLab

    本文介绍了如何使用Docker Desktop在Windows系统上部署GitLab,包括环境准备、安装Docker、配置GitLab镜像、容器配置等步骤,感兴趣的朋友一起看看吧
    2025-03-03
  • 详解docker 允许主机ssh连接到docker容器中

    详解docker 允许主机ssh连接到docker容器中

    本篇文章主要介绍了详解docker 允许主机ssh到docker容器中,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • Ubuntu24.04LTS在线安装Docker引擎的详细过程

    Ubuntu24.04LTS在线安装Docker引擎的详细过程

    本文介绍了在Ubuntu 24.04 LTS系统上安装Docker引擎的步骤,包括卸载旧版本、设置Docker APT仓库、安装最新版或指定版本的Docker,本文给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2024-11-11
  • docker-compose如何定义容器的ip

    docker-compose如何定义容器的ip

    这篇文章主要介绍了docker-compose如何定义容器的ip问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-01-01
  • debian12安装docker的实现步骤

    debian12安装docker的实现步骤

    本文主要介绍了debian12安装docker的实现步骤,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2025-05-05
  • docker安装redis并挂载到本地的详细教程

    docker安装redis并挂载到本地的详细教程

    这篇文章主要介绍了docker安装redis并挂载到本地,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • docker 容器网络模式详解

    docker 容器网络模式详解

    这篇文章主要为大家介绍了docker 容器网络模式详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10

最新评论