单节点
一、认识
二、操作
2.1 搜索 Elasticsearch
docker search elasticsearch
2.2 配置 Docker 虚拟内存
在 Mac
上运行可能需要增加 vm.max_map_count
,你可以在 Docker Desktop
设置中增加此值。通常默认值较小,导致 Elasticsearch
启动失败。可以直接在 Docker For Mac -> Resources -> Resource Allocation
往大调整 CPU Limit
、Memory limit:
、Swap
、Virtual disk limit
等。
2.3 获取 Elasticsearch 镜像
MacOS
平台下载
1. 通过 docker pull elasticsearch:8.14.1
下载: 下载速度慢,经常失败、超时
docker pull elasticsearch:8.14.1
2. 通过 docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.1
: 下载慢,但是可以下载成功
docker pull docker.elastic.co/elasticsearch/elasticsearch:8.14.1
3. 通过 docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.elastic.co/elasticsearch/elasticsearch:8.14.1
: 国内镜像,100%
同步官方镜像。该镜像来源于 渡渡鸟容器镜像小站
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.elastic.co/elasticsearch/elasticsearch:8.14.1
Linux
平台下载
备注: elasticsearch:8.14.1
对 Docker
版本有要求,应该是要最新版的才可以正常运行。
2.4 映射 Elasticsearch 配置文件
1. 创建本地 data
、config
目录: 可以实现 Elasticsearch
本地持久化存储。
mkdir -p ~/docker/elasticsearch/config ~/docker/elasticsearch/data
2. 设置文件访问权限: 避免因权限问题导致文件写入失败,Elasticsearch
容器服务停止
chmod -R 777 ~/docker/elasticsearch
2.5 编辑 Elasticsearch 配置文件
在本地 config
目录中,添加 elasticsearch.yml
文件, 配置如下所示
vim ~/docker/elasticsearch/config/elasticsearch.yml
http:
host: 0.0.0.0
xpack.security.enabled: false
xpack.security.enrollment.enabled: true
xpack.security.http.ssl:
enabled: false
http.cors.enabled: true
http.cors.allow-origin: "*"
2.6 运行 Elasticsearch 容器镜像
docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" -v ~/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml -v ~/docker/elasticsearch/data:/usr/share/elasticsearch/data -v ~/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins docker.elastic.co/elasticsearch/elasticsearch:8.14.1
-
-d
: 后台运行容器 -
--name elasticsearch
: 为容器指定一个名称 -
-p 9200:9200
: 将容器的端口9200
映射到宿主机端口9200
-
-p 9300:9300
: 将容器的端口9300
映射到宿主机端口9300
-
-e "discovery.type=single-node"
: 设置Elasticsearch
的发现类型为单节点模式,这样Elasticsearch
将以单节点的方式运行而无需进行集群发现。 -
-e ES_JAVA_OPTS="-Xms64m -Xmx512m"
: 设置Elasticsearch
的Java
虚拟机参数,指定初始堆内存为512MB
,最大堆内存为512MB
。 -
-v ~/docker/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
: 将宿主机上的Elasticsearch
配置文件~/docker/elasticsearch/config/elasticsearch.yml
挂载到容器内的配置文件路径,以便使用自定义的配置。 -
-v ~/docker/elasticsearch/data:/usr/share/elasticsearch/data
: 将容器内的data
目录映射到宿主机 -
-v ~/docker/elasticsearch/plugins:/usr/share/elasticsearch/plugins
: 将容器内的plugins
目录映射到宿主机
2.7 访问 Elasticsearch 容器服务
浏览器访问 localhost:9200
即可。