Docker 容器中安装 Elasticsearch 及配置详解

阅读时长 7 分钟读完

前言

Elasticsearch 是一个开源的搜索引擎,它支持全文检索、结构化搜索和分析等功能。它是一个基于 Lucene 的分布式搜索引擎,提供了 RESTful 的 API 接口,可以快速地构建大规模搜索应用程序。

在应用程序中使用 Elasticsearch,通常需要安装并配置它。为了方便地管理应用程序的依赖项,可以使用 Docker 容器来安装 Elasticsearch。本文将介绍如何在 Docker 容器中安装 Elasticsearch,并提供配置详解、示例代码,以及学习和指导意义。

步骤

1. 下载 Elasticsearch Docker 镜像

在 Docker Hub 上,有众多 Elasticsearch Docker 镜像可供选择。这里我们选用官方提供的 Elasticsearch 6.8.6 版本镜像。

使用以下命令下载镜像:

2. 创建 Elasticsearch 容器

在下载好 Docker 镜像后,我们可以使用以下命令运行 Elasticsearch 容器:

以上命令告诉 Docker 在 es_container 容器中运行 Elasticsearch 6.8.6 版本,并将容器中的 9200 端口映射到宿主机的 9200 端口,9300 端口映射到宿主机的 9300 端口。此外,通过环境变量 discovery.type,我们告诉 Elasticsearch 容器只有一个节点,以便在单机环境中使用。

3. 检测 Elasticsearch 是否工作正常

使用以下命令检测 Elasticsearch 是否可以正常工作:

如果 Elasticsearch 正确运行,将返回类似以下的输出:

-- -------------------- ---- -------
-
  -------------- - -----------------
  -------- - ---------
  ----------- - ------
  ----------------- - --
  ---------------------- - --
  ----------------------- - --
  --------------- - --
  ------------------- - --
  --------------------- - --
  ------------------- - --
  --------------------------- - --
  ------------------------- - --
  --------------------------- - --
  ---------------------------------- - --
  --------------------------------- - ----
-

4. 配置 Elasticsearch

在 Elasticsearch 中,通过配置文件进行配置。在容器中,需要将配置文件挂载到容器内部。

首先,创建一个名为 config 的目录,然后将 Elasticsearch 的配置文件 elasticsearch.yml 放置其中。

elasticsearch.yml 中,我们可以进行 Elasticsearch 的进一步配置。

例如:

其中,cluster.namenode.name 是 Elasticsearch 集群的名称和节点名称,path.datapath.logs 是 Elasticsearch 数据和日志的路径,network.host 指定了 Elasticsearch 绑定的 IP 地址。

5. 重新启动 Elasticsearch 容器

为了应用新的配置,需要停止并重新启动 Elasticsearch 容器,并将配置文件挂载到容器中。

首先,停止 Elasticsearch 容器。

然后,重新启动 Elasticsearch 容器,并将 config 目录挂载到容器中的 /usr/share/elasticsearch/config 目录。

6. 检测 Elasticsearch 是否工作正常

使用以下命令检测 Elasticsearch 是否可以正常工作:

如果 Elasticsearch 正确运行,将返回类似以下的输出:

-- -------------------- ---- -------
-
  -------------- - -------------
  -------- - ---------
  ----------- - ------
  ----------------- - --
  ---------------------- - --
  ----------------------- - --
  --------------- - --
  ------------------- - --
  --------------------- - --
  ------------------- - --
  --------------------------- - --
  ------------------------- - --
  --------------------------- - --
  ---------------------------------- - --
  --------------------------------- - ----
-

示例代码

下面是一些示例代码,演示如何使用 Elasticsearch 的 RESTful API 进行搜索。

添加数据

搜索数据

-- -------------------- ---- -------
---- -- --- ----------------------------------------- -- -------------- ----------------- ---
-
  -------- -
    -------- -
      ---------- ------- -------
    -
  -
-
-

总结

在 Docker 容器中安装 Elasticsearch,可以方便地管理应用程序的依赖项,并且能够快速地进行开发、测试和部署。通过配置 Elasticsearch,可以满足更加复杂的应用程序需求。

本文介绍了如何在 Docker 容器中安装 Elasticsearch,并提供了详细的配置说明和示例代码。希望能够对前端类开发人员有所帮助,同时也欢迎大家提出建议和反馈。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6459b3fa968c7c53b0bce3eb

纠错
反馈