一、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