返回

使用 Docker Compose 快速启动 Elasticsearch 单节点实例

后端

Elasticsearch 是一个开源、分布式、基于 Lucene 的搜索和分析引擎。它的强大功能和灵活性使其成为各种应用程序的理想选择,包括日志分析、网站搜索和实时分析。

在本文中,我们将指导你使用 Docker Compose 在你的本地机器上快速启动一个 Elasticsearch 单节点实例。Docker Compose 是一个用于定义和管理多容器 Docker 应用程序的工具。它使你能够使用单个命令轻松启动和管理多个容器。

先决条件

在你开始之前,确保你的系统满足以下先决条件:

  • Docker 已安装并正在运行
  • Docker Compose 已安装
  • 大约 2GB 的可用磁盘空间

步骤 1:创建 Docker Compose 文件

首先,创建一个名为 docker-compose.yml 的 Docker Compose 文件。此文件将定义你的 Elasticsearch 容器。

version: '3.7'

services:
  elasticsearch:
    image: elasticsearch:8.5.3
    container_name: elasticsearch
    ports:
      - "9200:9200"
      - "9300:9300"
    volumes:
      - elasticsearch-data:/usr/share/elasticsearch/data
    environment:
      - discovery.type=single-node
    networks:
      - elastic
    restart: always
networks:
  elastic:
    driver: bridge
volumes:
  elasticsearch-data:

在此文件中:

  • image 指定要使用的 Elasticsearch 镜像。
  • container_name 指定容器的名称。
  • ports 将容器端口映射到主机端口。
  • volumes 将主机卷挂载到容器中,用于存储数据。
  • environment 设置 Elasticsearch 环境变量。
  • networks 定义了一个名为 elastic 的网络,Elasticsearch 容器将在该网络上运行。
  • restart 指定容器在重新启动后应始终重新启动。

步骤 2:启动 Elasticsearch 容器

使用以下命令启动 Elasticsearch 容器:

docker-compose up -d

此命令将创建一个 Elasticsearch 容器并启动它。

步骤 3:测试 Elasticsearch

要测试 Elasticsearch 是否正在运行,你可以使用以下命令:

curl localhost:9200

如果 Elasticsearch 正在运行,你会看到类似以下内容的响应:

{
  "name" : "Elasticsearch",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "xxxx-xxxx-xxxx-xxxx",
  "version" : {
    "number" : "8.5.3",
    "build_flavor" : "oss",
    "build_type" : "tar",
    "build_hash" : "xxxx-xxxx-xxxx-xxxx",
    "build_date" : "xxxx-xx-xxTxx:xx:xx.xxxZ",
    "lucene_version" : "8.11.1",
    "minimum_wire_compatibility_version" : "8.5.0",
    "minimum_index_compatibility_version" : "8.0.0"
  },
  "tagline" : "You Know, for Search"
}

结论

恭喜!你现在已经使用 Docker Compose 在你的本地机器上启动了一个 Elasticsearch 单节点实例。你可以使用此实例来了解 Elasticsearch 的功能,或者将其用作开发和测试环境。

有关 Elasticsearch 的更多信息,请参阅 Elasticsearch 官方文档。