# Docker 安装 Elasticsearch## 简介Elasticsearch 是一个开源的分布式搜索和分析引擎,用于全文搜索、结构化搜索、分析以及数据挖掘。它支持多种语言,并且能够实时地存储、搜索和分析大量数据。Docker 提供了一种方便的方式来部署 Elasticsearch,使得安装和配置变得更加简单。本文将详细介绍如何使用 Docker 来安装和运行 Elasticsearch,包括基础配置、启动和停止 Elasticsearch 实例等内容。## 准备工作在开始之前,请确保已经安装了 Docker 和 Docker Compose。如果尚未安装,可以参考官方文档进行安装:- [Docker 安装指南](https://docs.docker.com/get-docker/) - [Docker Compose 安装指南](https://docs.docker.com/compose/install/)## 基础安装### 1. 拉取 Elasticsearch 镜像首先需要从 Docker Hub 拉取 Elasticsearch 的镜像。打开终端并执行以下命令:```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```这里我们使用的是 7.10.2 版本,你可以根据需要选择其他版本。### 2. 启动 Elasticsearch 实例拉取镜像之后,可以通过以下命令来启动 Elasticsearch 实例:```bash docker run -d --name elasticsearch \-p 9200:9200 \-p 9300:9300 \-e "discovery.type=single-node" \-e "xpack.security.enabled=false" \docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```上述命令中:- `-d` 表示以 detached(后台)模式运行容器。 - `--name elasticsearch` 设置容器名称为 `elasticsearch`。 - `-p 9200:9200 -p 9300:9300` 将主机的 9200 和 9300 端口映射到容器内的相应端口。 - `-e "discovery.type=single-node"` 设置为单节点模式。 - `-e "xpack.security.enabled=false"` 关闭安全功能,简化安装过程。 - `docker.elastic.co/elasticsearch/elasticsearch:7.10.2` 指定使用的镜像及版本。### 3. 验证安装安装完成后,可以通过访问 Elasticsearch 的 HTTP API 来验证安装是否成功:```bash curl -X GET "http://localhost:9200" ```如果返回类似以下的 JSON 信息,则表示 Elasticsearch 已经成功安装并运行:```json {"name" : "your-container-name","cluster_name" : "docker-cluster","cluster_uuid" : "your-cluster-uuid","version" : {"number" : "7.10.2","build_flavor" : "default","build_type" : "docker","build_hash" : "unknown","build_date" : "2020-11-11T00:00:00.000Z","build_snapshot" : false,"lucene_version" : "8.7.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search" } ```## 高级配置### 1. 配置文件挂载为了方便管理 Elasticsearch 的配置文件,可以将配置文件从宿主机挂载到容器内。创建一个目录并放置配置文件:```bash mkdir -p /path/to/config ```然后编辑配置文件 `elasticsearch.yml`:```yaml cluster.name: my_cluster node.name: node_1 network.host: 0.0.0.0 http.port: 9200 ```最后启动容器时使用 `-v` 参数挂载配置文件:```bash docker run -d --name elasticsearch \-p 9200:9200 \-p 9300:9300 \-v /path/to/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-e "discovery.type=single-node" \-e "xpack.security.enabled=false" \docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```### 2. 数据持久化为了避免容器重启后数据丢失,建议将 Elasticsearch 的数据目录挂载到宿主机上。创建一个目录用于存储数据:```bash mkdir -p /path/to/data ```启动容器时使用 `-v` 参数挂载数据目录:```bash docker run -d --name elasticsearch \-p 9200:9200 \-p 9300:9300 \-v /path/to/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-v /path/to/data:/usr/share/elasticsearch/data \-e "discovery.type=single-node" \-e "xpack.security.enabled=false" \docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```## 停止和删除容器### 1. 停止容器要停止正在运行的 Elasticsearch 容器,可以使用以下命令:```bash docker stop elasticsearch ```### 2. 删除容器如果需要删除容器及其所有数据,可以使用以下命令:```bash docker rm -f elasticsearch ```## 总结通过本文的介绍,你已经了解了如何使用 Docker 安装和运行 Elasticsearch。从基础安装到高级配置,再到数据持久化和容器管理,这些步骤可以帮助你在开发和生产环境中快速搭建 Elasticsearch 环境。希望本文对你有所帮助!
Docker 安装 Elasticsearch
简介Elasticsearch 是一个开源的分布式搜索和分析引擎,用于全文搜索、结构化搜索、分析以及数据挖掘。它支持多种语言,并且能够实时地存储、搜索和分析大量数据。Docker 提供了一种方便的方式来部署 Elasticsearch,使得安装和配置变得更加简单。本文将详细介绍如何使用 Docker 来安装和运行 Elasticsearch,包括基础配置、启动和停止 Elasticsearch 实例等内容。
准备工作在开始之前,请确保已经安装了 Docker 和 Docker Compose。如果尚未安装,可以参考官方文档进行安装:- [Docker 安装指南](https://docs.docker.com/get-docker/) - [Docker Compose 安装指南](https://docs.docker.com/compose/install/)
基础安装
1. 拉取 Elasticsearch 镜像首先需要从 Docker Hub 拉取 Elasticsearch 的镜像。打开终端并执行以下命令:```bash docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```这里我们使用的是 7.10.2 版本,你可以根据需要选择其他版本。
2. 启动 Elasticsearch 实例拉取镜像之后,可以通过以下命令来启动 Elasticsearch 实例:```bash docker run -d --name elasticsearch \-p 9200:9200 \-p 9300:9300 \-e "discovery.type=single-node" \-e "xpack.security.enabled=false" \docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```上述命令中:- `-d` 表示以 detached(后台)模式运行容器。 - `--name elasticsearch` 设置容器名称为 `elasticsearch`。 - `-p 9200:9200 -p 9300:9300` 将主机的 9200 和 9300 端口映射到容器内的相应端口。 - `-e "discovery.type=single-node"` 设置为单节点模式。 - `-e "xpack.security.enabled=false"` 关闭安全功能,简化安装过程。 - `docker.elastic.co/elasticsearch/elasticsearch:7.10.2` 指定使用的镜像及版本。
3. 验证安装安装完成后,可以通过访问 Elasticsearch 的 HTTP API 来验证安装是否成功:```bash curl -X GET "http://localhost:9200" ```如果返回类似以下的 JSON 信息,则表示 Elasticsearch 已经成功安装并运行:```json {"name" : "your-container-name","cluster_name" : "docker-cluster","cluster_uuid" : "your-cluster-uuid","version" : {"number" : "7.10.2","build_flavor" : "default","build_type" : "docker","build_hash" : "unknown","build_date" : "2020-11-11T00:00:00.000Z","build_snapshot" : false,"lucene_version" : "8.7.0","minimum_wire_compatibility_version" : "6.8.0","minimum_index_compatibility_version" : "6.0.0-beta1"},"tagline" : "You Know, for Search" } ```
高级配置
1. 配置文件挂载为了方便管理 Elasticsearch 的配置文件,可以将配置文件从宿主机挂载到容器内。创建一个目录并放置配置文件:```bash mkdir -p /path/to/config ```然后编辑配置文件 `elasticsearch.yml`:```yaml cluster.name: my_cluster node.name: node_1 network.host: 0.0.0.0 http.port: 9200 ```最后启动容器时使用 `-v` 参数挂载配置文件:```bash docker run -d --name elasticsearch \-p 9200:9200 \-p 9300:9300 \-v /path/to/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-e "discovery.type=single-node" \-e "xpack.security.enabled=false" \docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```
2. 数据持久化为了避免容器重启后数据丢失,建议将 Elasticsearch 的数据目录挂载到宿主机上。创建一个目录用于存储数据:```bash mkdir -p /path/to/data ```启动容器时使用 `-v` 参数挂载数据目录:```bash docker run -d --name elasticsearch \-p 9200:9200 \-p 9300:9300 \-v /path/to/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \-v /path/to/data:/usr/share/elasticsearch/data \-e "discovery.type=single-node" \-e "xpack.security.enabled=false" \docker.elastic.co/elasticsearch/elasticsearch:7.10.2 ```
停止和删除容器
1. 停止容器要停止正在运行的 Elasticsearch 容器,可以使用以下命令:```bash docker stop elasticsearch ```
2. 删除容器如果需要删除容器及其所有数据,可以使用以下命令:```bash docker rm -f elasticsearch ```
总结通过本文的介绍,你已经了解了如何使用 Docker 安装和运行 Elasticsearch。从基础安装到高级配置,再到数据持久化和容器管理,这些步骤可以帮助你在开发和生产环境中快速搭建 Elasticsearch 环境。希望本文对你有所帮助!