使用Docker来安装Elasticsearch(简称ES)的详细教程如下:
1. 前提条件
确保你的系统已经安装了Docker,并且Docker服务正在运行。如果你使用的是Windows系统,还需要确保已经启用了Hyper-V和容器功能。
2. 拉取Elasticsearch镜像
在命令行或终端中,执行以下命令来拉取Elasticsearch的Docker镜像:
bash
docker pull elasticsearch:版本号 # 请将"版本号"替换为你需要的Elasticsearch版本号,例如7.8.0
3. 创建数据目录和配置文件目录
在宿主机上创建Elasticsearch的数据目录和配置文件目录,并设置相应的权限。例如:
bash
mkdir -p /docker/elasticsearch/data
mkdir -p /docker/elasticsearch/config
chmod 777 /docker/elasticsearch/data
chmod 777 /docker/elasticsearch/config
4. 创建Docker网络(可选)
对docker network
不熟悉的可以参考之前的文章介绍docker network 命令详解
如果你打算在Docker中部署多个容器(例如Kibana),并且希望它们能够相互通信,可以创建一个Docker网络。例如:
bash
docker network create my-net
5. 运行Elasticsearch容器
使用以下命令来运行Elasticsearch容器:
bash
docker run -d \
--name es \
--net my-net \ # 如果你创建了Docker网络,则使用此选项将容器添加到网络中
-p 9200:9200 \ # 将容器的9200端口映射到宿主机的9200端口
-p 9300:9300 \ # 将容器的9300端口映射到宿主机的9300端口(用于节点间通信)
-e "discovery.type=single-node" \ # 设置Elasticsearch以单节点模式运行
-v /docker/elasticsearch/data:/usr/share/elasticsearch/data \ # 将宿主机的数据目录挂载到容器的数据目录
-v /docker/elasticsearch/config:/usr/share/elasticsearch/config \ # 将宿主机的配置文件目录挂载到容器的配置文件目录
elasticsearch:版本号 # 请替换为你拉取的Elasticsearch版本号
6. 验证安装
等待容器启动完成后,在浏览器中打开http://localhost:9200/
{
"name": "4cb1286292b8",
"cluster_name": "docker-cluster",
"cluster_uuid": "XYziZjTJQFCCvfZbc7OIIg",
"version": {
"number": "7.10.1",
"build_flavor": "default",
"build_type": "docker",
"build_hash": "1c34507e66d7db1211f66f3513706fdf548736aa",
"build_date": "2020-12-05T01:00:33.671820Z",
"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中安装Elasticsearch的基本教程。