使用 Docker 部署 Elasticsearch:详细步骤与原创指南
Elasticsearch 是一个强大的分布式搜索引擎,而 Docker 则是一种轻量级的容器化技术。将 Elasticsearch 部署在 Docker 容器中,可以简化部署流程,提高环境一致性,并方便地进行版本管理和扩展。为了更方便地管理 Elasticsearch 容器,可以使用 Docker Compose 进行部署。为了防止容器重启后数据丢失,可以将 Elasticsearch 的数据目
使用 Docker 部署 Elasticsearch:详细步骤与原创指南
Elasticsearch 是一个强大的分布式搜索引擎,而 Docker 则是一种轻量级的容器化技术。将 Elasticsearch 部署在 Docker 容器中,可以简化部署流程,提高环境一致性,并方便地进行版本管理和扩展。

一、环境准备
- Docker 版本: 18.06 或更高版本
- Docker Compose 版本: 1.22.0 或更高版本 (可选)
二、部署步骤
1. 拉取 Elasticsearch 镜像
使用以下命令从 Docker Hub 拉取 Elasticsearch 官方镜像:
docker pull docker.elastic.co/elasticsearch/elasticsearch:7.10.0
2. 运行 Elasticsearch 容器
使用以下命令运行 Elasticsearch 容器:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" docker.elastic.co/elasticsearch/elasticsearch:7.10.0
参数说明:
-d: 后台运行容器--name elasticsearch: 指定容器名称为elasticsearch-p 9200:9200: 将容器内的 9200 端口映射到宿主机的 9200 端口,用于 HTTP 通信-p 9300:9300: 将容器内的 9300 端口映射到宿主机的 9300 端口,用于节点间通信-e "discovery.type=single-node": 设置 Elasticsearch 为单节点模式
3. 验证部署
打开浏览器,访问 http://localhost:9200,如果看到类似以下的 JSON 信息,说明 Elasticsearch 部署成功:
{
"name" : "node-1",
"cluster_name" : "docker-cluster",
"cluster_uuid" : "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
"version" : {
"number" : "7.10.0",
"build_flavor" : "default",
"build_type" : "docker",
"build_hash" : "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"build_date" : "2020-11-05T10:36:47.660Z",
"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"
}
三、使用 Docker Compose 部署 (可选)
为了更方便地管理 Elasticsearch 容器,可以使用 Docker Compose 进行部署。
1. 创建 docker-compose.yml 文件
version: '3.7'
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elasticsearch:7.10.0
container_name: elasticsearch
environment:
- discovery.type=single-node
ports:
- 9200:9200
- 9300:9300
volumes:
- esdata:/usr/share/elasticsearch/data
volumes:
esdata:
2. 启动 Elasticsearch 容器
在 docker-compose.yml 文件所在目录下,执行以下命令启动 Elasticsearch 容器:
docker-compose up -d
四、数据持久化
为了防止容器重启后数据丢失,可以将 Elasticsearch 的数据目录挂载到宿主机的目录中。
1. 创建数据目录
在宿主机上创建一个目录用于存储 Elasticsearch 数据,例如 /data/elasticsearch。
2. 挂载数据目录
在运行容器时,使用 -v 参数将宿主机的数据目录挂载到容器内的 /usr/share/elasticsearch/data 目录:
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -v /data/elasticsearch:/usr/share/elasticsearch/data docker.elastic.co/elasticsearch/elasticsearch:7.10.0
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)