Docker Compose Elasticsearch詳解

一、Elasticsearch簡介

Elasticsearch是一個開源分佈式搜索和分析引擎。它被用於各種用例,例如應用程序搜索、日誌分析及安全分析等。Elasticsearch基於Lucene搜索引擎庫構建,提供了全文搜索、結構化搜索、分面搜索以及文本分析等功能。

二、Docker Compose概覽

Docker Compose是一個用於定義和運行多容器Docker應用程序的工具。通過使用Docker Compose可以輕鬆地定義和管理應用程序的各種服務,它可以自動構建並啟動所有應用程序的依賴關係。Docker Compose可以簡化開發、測試和部署處理。

三、Docker Compose Elasticsearch

Docker Compose Elasticsearch 是一種容器化的 Elasticsearch 配置方案。它使用 Docker Compose 創建和管理 Docker 鏡像,並在 Docker 容器中運行 Elasticsearch。使用它可以輕鬆地創建 Elasticsearch 集群、進行分佈式搜索以及實時分析等操作。

四、安裝Docker Compose Elasticsearch

首先,要安裝 Docker 和 Docker Compose。可以按照官方文檔進行安裝。安裝完成後,需在Docker Compose文件中定義Elasticsearch服務。

五、定義Docker Compose文件

以下是一個簡單的Docker Compose文件,用於在容器中啟動Elasticsearch服務:

version: '3'
services:
  elasticsearch:
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.0
    container_name: elasticsearch
    environment:
      - discovery.type=single-node
    ports:
      - 9200:9200
      - 9300:9300

本示例定義了一個名為「elasticsearch」的服務,使用了Elasticsearch官方的鏡像。環境變量「discovery.type=single-node」表示該服務是單節點部署,請注意這個配置項的格式;然後定義了兩個映射端口用於訪問Elasticsearch服務。

六、啟動Docker Compose Elasticsearch服務

要啟動該服務,只需在命令行中進入到Docker Compose文件所在目錄,然後運行以下命令:

docker-compose up -d

該命令會自動構建、啟動並運行一個名為「elasticsearch」的容器。

七、訪問Elasticsearch服務

啟動完成後,就可以通過瀏覽器訪問該服務。 在瀏覽器地址欄中輸入:http://localhost:9200。如果一切正常,將看到以下輸出:

{
  "name" : "elasticsearch",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "hHxFNMRwRxavCJHx0jUJkA",
  "version" : {
    "number" : "7.15.0",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "79d65f6e357953a5e35cb43e1bdc3c85960b232b",
    "build_date" : "2021-09-16T03:05:29.143308416Z",
    "build_snapshot" : false,
    "lucene_version" : "8.9.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

八、添加其他服務

可以在同一個Docker Compose文件中添加其他服務,如Kibana服務,以實現更多的使用場景。以下示例演示如何使用 Docker Compose 運行 Elasticsearch 和 Kibana:

version: "2.2"
services:
  elasticsearch:
    container_name: elasticsearch
    image: docker.elastic.co/elasticsearch/elasticsearch:7.15.0
    environment:
      - discovery.type=single-node
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"
    volumes:
      - esdata1:/usr/share/elasticsearch/data

  kibana:
    container_name: kibana
    image: docker.elastic.co/kibana/kibana:7.15.0
    ports:
      - "5601:5601"
    environment:
      ELASTICSEARCH_URL: http://elasticsearch:9200
      ELASTICSEARCH_HOSTS: http://elasticsearch:9200
    depends_on:
      - elasticsearch

volumes:
  esdata1:
    driver: local

該示例中,我們除了elasticsearch服務外還添加了kibana服務,kibana是一個用於可視化管理Elasticsearch數據和分析的Web界面,該服務需要依賴於elasticsearch服務。

九、總結

本文介紹了如何使用Docker Compose配置Elasticsearch服務,並演示了如何添加kibana服務進行管理和分析。通過Docker Compose,我們可以輕鬆地創建和管理多個Docker容器,實現了分佈式搜索和分析。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/246085.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-12 13:13
下一篇 2024-12-12 13:13

相關推薦

發表回復

登錄後才能評論