📜  elasticsearch docker instance (1)

📅  最后修改于: 2023-12-03 14:40:57.280000             🧑  作者: Mango

Elasticsearch Docker Instance

概述

Elasticsearch是一个开源的分布式搜索和分析引擎,为了方便开发人员快速部署和测试Elasticsearch,提供了Docker镜像。

Docker是一种轻量级的容器虚拟化技术,它可以将应用程序及其所有依赖项打包为一个容器,从而实现轻松部署和可移植性。

本文将介绍如何使用Docker部署Elasticsearch。

步骤
第一步:下载Elasticsearch Docker镜像

通过以下命令从Docker Hub下载最新版本的Elasticsearch镜像:

docker pull elasticsearch:latest
第二步:运行Elasticsearch Docker容器实例

运行以下命令启动容器:

docker run -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:latest
第三步:测试Elasticsearch

访问http://localhost:9200/,看到如下信息:

{
  "name" : "58590f91b774",
  "cluster_name" : "docker-cluster",
  "cluster_uuid" : "YjdD9I-MRosE8yyHyS26pA",
  "version" : {
    "number" : "7.5.1",
    "build_flavor" : "default",
    "build_type" : "docker",
    "build_hash" : "3ae9ac9a93c95bd0cdc054951cf95d88e1e18d96",
    "build_date" : "2019-12-16T22:57:37.835892Z",
    "build_snapshot" : false,
    "lucene_version" : "8.3.0",
    "minimum_wire_compatibility_version" : "6.8.0",
    "minimum_index_compatibility_version" : "6.0.0-beta1"
  },
  "tagline" : "You Know, for Search"
}

至此,您已经成功的在Docker容器中启动一个Elasticsearch实例并测试它。

配置说明
端口映射

由于Docker镜像默认将Elasticsearch的端口暴露到容器内部网络,需要手动映射将Elasticsearch的端口暴露到宿主机上,因此在运行容器时必须使用-p选项。

-p xxxx:xxxx 表示将容器内部的端口映射到宿主机的端口。

单节点设置

通过设置环境变量"discovery.type=single-node"来指定Elasticsearch运行在单节点模式下,这是一个方便开发和测试的选项。

挂载数据卷

使用Docker中的数据卷可以将Elasticsearch容器的数据保存在持久化的磁盘存储中,以便数据不会丢失。

可以通过以下方式使用数据卷:

docker run -d -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /path/to/storage:/usr/share/elasticsearch/data elasticsearch:latest
总结

通过使用Docker,我们可以轻松地创建和管理Elasticsearch实例,这是在开发和测试过程中提高效率的有力工具。同时,我们还可以通过使用数据卷等方法将数据持久化存储在磁盘中,以避免数据丢失。