专属
文档
插件
助手
邀请
顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像
专业版
轩辕镜像 官方专业版
轩辕镜像
专业版
首页个人中心搜索镜像

交易
充值流量我的订单

文档

工具

功能
提交工单页面收录

帮助
轩辕镜像免费版

其他
关于我们网站地图
热门搜索:
elasticsearch

raaftech/elasticsearch

raaftech

基于Red Hat OpenJDK 8镜像的Elasticsearch,适用于OpenShift环境,也可独立运行,支持在Kubernetes或OpenShift上部署大规模生产集群,简化配置并兼容多个Elasticsearch版本。

下载次数: 0状态:社区镜像维护者:raaftech仓库类型:镜像最近更新:7 年前
让 AI 帮你使用轩辕镜像? · 展开查看说明

如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。

只需在 AI 对话中先发送下面这句话即可:

请先完整阅读并严格遵守以下文档中的全部规则与要求:

https://xuanyuan.cloud/agents.md

在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。

查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。

轩辕镜像,不浪费每一次拉取。点击查看
中文简介
标签下载
镜像标签列表与下载命令
轩辕镜像,不浪费每一次拉取。点击查看

Elasticsearch Docker镜像(适用于Kubernetes和OpenShift)

尽管Elasticsearch已有关于在Docker环境中使用Elasticsearch的优质文档,但该文档主要关注Docker Compose在单实例之外的应用。之后,https://github.com/pires%E5%BC%80%E5%B1%95%E4%BA%86https://github.com/pires/kubernetes-elasticsearch-cluster%EF%BC%8C%E4%BD%BFElasticsearch%E8%83%BD%E4%B8%8EKubernetes%E8%89%AF%E5%A5%BD%E5%85%BC%E5%AE%B9%E3%80%82

本项目受https://github.com/pires%E7%9A%84https://github.com/pires/kubernetes-elasticsearch-cluster%E5%90%AF%E5%8F%91%EF%BC%8C%E5%85%81%E8%AE%B8%E5%9C%A8Kubernetes%E6%88%96OpenShift%E4%B8%8A%E8%BF%90%E8%A1%8C%E5%A4%A7%E8%A7%84%E6%A8%A1Elasticsearch%E7%94%9F%E4%BA%A7%E7%8E%AF%E5%A2%83%EF%BC%8C%E7%AE%80%E5%8C%96%E4%BA%86Kubernetes%E7%9B%B8%E5%85%B3%E9%85%8D%E7%BD%AE%EF%BC%88%E5%8C%85%E6%8B%AC%E6%B6%88%E9%99%A4%E5%AF%B9%E7%89%B9%E6%9D%83%E5%88%9D%E5%A7%8B%E5%8C%96%E5%AE%B9%E5%99%A8%E7%9A%84%E9%9C%80%E6%B1%82%EF%BC%89%EF%BC%8C%E5%B9%B6%E9%80%9A%E8%BF%87%E7%89%B9%E6%AE%8A%E5%A4%84%E7%90%86%E4%BD%BF%E4%B8%8D%E5%90%8C%E6%96%B0%E6%97%A7%E7%89%88%E6%9C%AC%EF%BC%88%E6%9C%80%E6%96%B0%E7%89%88%EF%BC%89%E7%9A%84Elasticsearch%E8%83%BD%E5%85%BC%E5%AE%B9%E7%8E%AF%E5%A2%83%E5%8F%98%E9%87%8F%E7%9A%84%E5%BC%95%E5%85%A5%E4%B8%8E%E5%BC%83%E7%94%A8%E3%80%82

下文将介绍如何构建和独立运行本项目的Docker镜像,以及如何使用附带的Kubernetes文件部署n规模集群(已在Kubernetes 1.10+和OpenShift 3.9上测试)。

截至本文撰写时(2019-04-08),这些Dockerfile已用于Elasticsearch 6.4.3、6.5.4、6.6.2和6.7.1版本。

目录

  • 前置要求
  • 构建Docker镜像
  • 使用Kubernetes部署
  • 使用OpenShift
  • 环境变量和参数

前置要求

构建和运行Docker镜像需要较新版本的Docker。本地独立运行时(无需处理大量请求),建议至少4G内存和1-2个CPU核心。

在Kubernetes上运行需Kubernetes集群,已在1.10、1.12版本及OpenShift 3.9附带的Kubernetes服务上测试。资源需求差异较大,示例配置:12节点集群(3个主节点、3个数据节点、3个摄入节点、3个客户端节点),总计约12核CPU、60GB内存和100GB存储。

关于存储:Elasticsearch数据在GlusterFS存储上存在已知严重问题。GlusterFS团队在https://github.com/gluster/glusterfs/issues/517%E8%B7%9F%E8%B8%AA%E8%BF%99%E4%BA%9B%E9%97%AE%E9%A2%98%EF%BC%8CRed Hat也在此处、此处和此处记录了相关问题。

若使用GlusterFS 4.1之前版本,必须使用https://github.com/gluster/gluster-kubernetes/blob/master/docs/design/gluster-block-provisioning.md%E5%AD%98%E5%82%A8%EF%BC%8C%E5%90%A6%E5%88%99%E4%BC%9A%E5%9B%A0ctime/mtime/utime%E5%B7%AE%E5%BC%82%E5%AF%BC%E8%87%B4%E9%94%81%E6%96%87%E4%BB%B6%E4%BF%AE%E6%94%B9%E9%97%AE%E9%A2%98%EF%BC%88%E8%AF%A6%E8%A7%81%E5%89%8D%E6%96%87%E9%93%BE%E6%8E%A5%EF%BC%89%E3%80%82%E8%8B%A5%E4%BD%BF%E7%94%A8GlusterFS 4.1及以上版本,需在数据卷上启用ctime特性。

内存设置说明:本配置假设JVM版本为1.8.0 R191或更高,这些版本支持+EnableContainerSupport、+InitialRAMPercentage和+MaxRAMPercentage特性,可根据Kubernetes YAML文件中Pod的内存分配动态为JVM提供堆内存,无需显式指定JVM内存大小。

最后,假设使用较新的现代操作系统环境,docker和kubectl命令已添加到PATH,且能使用cmd.exe、powershell、ksh或bash。

构建Docker镜像

本项目基于最小Linux+OpenJDK镜像构建,提取标准Elasticsearch tar包,通过自定义setup.sh和run.sh脚本安装并启动。

Dockerfile继承自Red Hat的https://github.com/jboss-container-images/openjdk%E9%95%9C%E5%83%8F%E3%80%82%E7%90%86%E8%AE%BA%E4%B8%8A%EF%BC%8C%E4%BB%BB%E4%BD%95%E5%8C%85%E5%90%ABOpenJDK 8+(Elasticsearch 6.2+可运行于OpenJDK 9/10/11)及bash、curl命令的镜像均可运行,但Red Hat镜像的优势在于承诺持续更新,优于常规OpenJDK镜像的现状。

Red Hat的"OpenJDK生命周期和支持政策"文档指出:"问:生命周期日期是否适用于OpenShift中的OpenJDK镜像?答:是。OpenJDK 8的生命周期适用于Red Hat容器目录中的容器镜像,OpenJDK 11的生命周期将在其发布后适用。"

以下是独立Docker镜像的构建和运行步骤:

  1. 克隆本仓库,进入仓库目录。
  2. 构建镜像:
    docker build -t someorg/elasticsearch .
  3. 运行容器:
    docker run -d -p 9200:9200 -p 9300:9300 --rm --name es someorg/elasticsearch
  4. 查看日志:
    docker logs -f es(按<ctrl-c>停止查看)
  5. 验证运行:
    curl http://localhost:9200(返回基本信息JSON)

清理步骤:

  • 停止容器:docker stop es
  • 清理容器(可选,docker run带--rm时无需):docker container prune
  • 清理卷(可选):docker volume prune
  • 删除镜像:docker rmi someorg/elasticsearch
  • 删除基础镜像:docker rmi registry.access.redhat.com/redhat-openjdk-18/openjdk18-openshift

上述步骤运行的是默认配置的独立Elasticsearch节点,未使用环境变量自定义配置。通过修改环境变量和Docker设置,单个镜像可在Elasticsearch环境中承担不同角色,这是在Kubernetes环境中运行的关键。

使用Kubernetes部署

kubernetes子目录包含Kubernetes环境中的资源配置YAML文件,包括四种资源类型:

  • route:暴露服务供外部访问的HTTP端点;
  • service:定义Pod间开放的端口;
  • statefulset:具有身份和状态的Pod集合;
  • deployment:无持久身份且通常无状态的Pod集合。

这些资源分别对应服务配置的关键方面:外部访问方式(route)、内部通信端口(service)、需保持状态和身份的系统(statefulset)、可替换的无状态工作节点(deployment)。

Kubernetes目录中的YAML文件通过设置环境变量,将Docker镜像配置为Elasticsearch集群中的特定角色。部署步骤如下(需Kubernetes环境及kubectl命令):

  1. 进入kubernetes子目录,检查statefulset和deployment文件中的默认资源配置(存储声明大小、CPU核心数、内存分配)。
  2. 创建集群资源:
    kubectl create -f service-es-transport.yaml
    kubectl create -f service-es-http.yaml
    kubectl create -f route-es-http.yaml
    kubectl create -f statefulset-es-master.yaml
    kubectl create -f statefulset-es-data.yaml
    kubectl create -f deployment-es-ingest.yaml
    kubectl create -f deployment-es-client.yaml

默认配置适用于中等规模生产环境(约60GiB内存、12核CPU)。测试环境可降低资源分配。注意:Pod内存分配通常需为JVM内存(-Xms和-Xmx)的两倍。此外,Kubernetes中的持久存储类名称可能与YAML文件中不同,可通过kubectl get sc查看可用存储类。

使用OpenShift

OpenShift v3及以上基于Kubernetes构建,增加了镜像构建、版本控制、认证和隔离等功能,详情见okd.io。

OpenShift保持与Kubernetes的兼容性,可通过oc login登录后,将上述kubectl命令替换为oc执行,例如:oc create -f service-es-transport.yaml。

环境变量和参数

Docker镜像可在构建和运行时通过参数(ARG)和环境变量(ENV)进行配置。ARG仅在构建时(docker build)生效,ENV在构建和运行时(docker run)均生效。

ARG PROXY_URL

默认值:none

构建时用于curl获取 artifacts 的代理URL。示例值:http://proxy.example.com:8080。

ARG NO_PROXY

默认值:none

指定不使用代理的IP地址和(部分)主机名列表(逗号分隔)。可部分匹配主机名(如.example.com匹配所有以.example.com结尾的主机)。示例值:localhost,127.0.0.1,.example.com。

ENV HOME

默认值:/elasticsearch

Elasticsearch安装的主目录。请勿修改,否则会导致意外结果。

ENV PATH

默认值:/elasticsearch/bin:$PATH

镜像的默认路径,前缀为Elasticsearch的bin目录。修改时需确保/elasticsearch/bin为首个条目。

ENV ES_ALLOW_MMAPFS

默认值:true

Elasticsearch 6.5.0及以上版本可用,6.5.0之前版本无效。允许或禁止mmapfs作为索引后端。若无法将vm.max_map_count设置为至少262144(无root权限),可设为false,并确保ES_INDEX_STORE_TYPE设为niofs或simplefs。

当Elasticsearch检测到非本地主机运行时,会执行启动检查,包括vm.max_map_count是否至少262144。6.5.0之前版本即使index.store.type设为非mmapfs也无法跳过该检查(因index.store.type仅为默认值,可在索引创建时覆盖)。vm.max_map_count仅在index.store.type为mmapfs且node.store.allow_mmapfs为true(Linux和macOS上index.store.type为fs或mmapfs时的默认值)时相关。

ENV ES_JAVA_OPTS

默认值:-Xms1g -Xmx1g -XX:ParallelGCThreads=1

用于设置JVM参数。默认配置将最小和最大堆大小设为相等(禁用动态伸缩以避免性能损耗),并将ParallelGCThreads设为1(确保最多1个并发垃圾回收线程)。此设置针对jvm.options中配置的CMS(ConcurrentMarkSweep)垃圾收集器。

可在jvm.options文件中设置这些参数,但通过环境变量可按实例覆盖。

ENV ES_ARCHIVE_BASEURL

默认值:https://artifacts.elastic.co/downloads/elasticsearch

控制setup.sh获取安装包的地址。若ES_VERSION为快照版本,需设为https://snapshots.elastic.co/downloads/elasticsearch;稳定版本使用默认值即可。

ENV ES_ARCHIVE_KEYID

默认值:46095ACC8548582C1A2699A9D27D666CD88E42B4

Elastic Co用于签名发布 artifacts 的公钥ID。setup.sh使用此ID和下载的哈希文件从PGP密钥服务器获取公钥,验证下载 artifacts 的有效性。

ENV ES_CLUSTER_NAME

默认值:elasticsearch-default

Elasticsearch集群名称。

ENV ES_DISCOVERY_SERVICE

默认值:none

设置Elasticsearch配置中的discovery.zen.ping.unicast.hosts。Zen Discovery是Elasticsearch默认的集群节点发现模块。Kubernetes配置文件将此值设为es-transport(定义节点间传输端口9300的Kubernetes服务名称)。

注意:Elastic Co文档指出该值可为主机列表,Kubernetes服务名称的DNS条目可能解析为多个主机(DNS轮询)。

ENV ES_HTTP_CORS_ALLOW_ORIGIN

默认值:*

允许的跨域请求源(详见下文ES_HTTP_CORS_ENABLE)。若值前后添加/,将被视为正则表达式,例如/https?:\/\/localhost(:[0-9]+)?/支持HTTP和HTTPS。

默认值*存在安全风险(允许任何来源的跨域请求),建议修改。更多信息见Elastic Co的HTTP模块文档。

ENV ES_HTTP_CORS_ENABLE

默认值:true

启用或禁用跨域资源共享(CORS),即允许其他源的客户端执行请求。详见跨域资源共享。

ES_INDEX_AUTO_CREATE

默认值:true

默认情况下,向不存在的索引POST文档会自动创建索引。可通过设为.kibana*,.logstash*,.management*,.monitoring*,.security*,.triggered_watches*,.watcher-history*,.watches*禁用自动创建(需显式创建索引)。注意:值不能为false,需为允许自动创建的索引白名单。

ENV ES_INDEX_STORE_TYPE

默认值:fs

默认由Elasticsearch选择索引存储类型实现(Linux和macOS为mmapfs,Windows为simplefs)。

此值仅指定默认索引存储类型,不限制索引创建时指定的存储类型。另见ES_ALLOW_MMAPFS。更多信息见存储模块文档。

ENV ES_MAX_LOCAL_STORAGE_NODES

默认值:1

限制可访问本地数据路径的Elasticsearch进程数,几乎所有情况下应设为1。若本地运行多个Elasticsearch进程且需访问同一数据路径,可增加此值。生产环境通常不应大于1。详见Elasticsearch参考指南的节点数据路径设置。

ENV ES_MEMORY_LOCK

默认值:false

Elasticsearch参考指南:JVM执行 major GC 时会触及堆的每个页面,若页面被换出到磁盘,需换回内存,导致大量磁盘抖动,影响请求处理。

有多种方法配置系统禁止交换,其中一种是通过mlockall(Unix)或virtuallock(Windows)请求JVM锁定堆内存,通过Elasticsearch的bootstrap.memory_lock设置实现。

但有时设置后Elasticsearch可能无法锁定堆(如elasticsearch用户无memlock unlimited权限)。内存锁定检查用于验证bootstrap.memory_lock启用时JVM是否成功锁定堆。

默认false禁用检查,若确认有memlock unlimited权限,可设为true。

ENV ES_NETWORK_HOST

默认值:_site_

Elasticsearch绑定的主机名或IP地址,并向集群其他节点广播。接受IP地址、主机名、特殊值或其组合数组。

特殊值:_[networkInterface]_(网络接口地址,如_en0_)、_local_(系统回环地址,如127.0.0.1)、_site_(系统站点本地地址,如192.168.0.1、172.16.0.1、10.0.0.1)、_global_(系统全局地址,如8.8.8.8)。

ENV ES_NODE_DATA

默认值:true

是否作为数据节点。

ENV ES_NODE_INGEST

默认值:true

是否作为摄入节点。

ENV ES_NODE_MASTER

默认值:true

是否作为主节点。

ENV ES_NUMBER_OF_MASTERS

默认值:1

设置discovery.zen.minimum_master_nodes,即新选举的主节点需加入的最小主节点数,以完成选举并确认主节点身份。

该设置还控制活动集群中需存在的最小活动主节点数,若不满足,活动主节点将退位并重新选举。

必须设为主节点数的法定人数(主节点数/2 + 1)。建议避免仅2个主节点(法定人数为2,任一节点故障导致集群不可用)。实践中,3个主节点且minimum_master_nodes=2是良好选择。详见[避免脑裂](https://

更多相关 Docker 镜像与资源

以下是 raaftech/elasticsearch 相关的常用 Docker 镜像,适用于 不同场景 等不同场景:

  • library/elasticsearch Docker 镜像说明
  • bitnamicharts/elasticsearch Docker 镜像说明(Bitnami Elasticsearch 图表栈,适合日志检索与全文搜索集群)
  • milvusdb/milvus Docker 镜像说明
  • semitechnologies/weaviate Docker 镜像说明(向量数据库,适合 AI 应用)
  • bitnami/elasticsearch Docker 镜像说明(Elasticsearch 搜索引擎,Bitnami 企业级配置)

镜像拉取方式

您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

轩辕镜像加速拉取命令点我查看更多 elasticsearch 镜像标签

docker pull docker.xuanyuan.run/raaftech/elasticsearch:<标签>

使用方法:

  • 登录认证方式
  • 免认证方式

DockerHub 原生拉取命令

docker pull raaftech/elasticsearch:<标签>

更多 elasticsearch 镜像推荐

elasticsearch logo

library/elasticsearch

Docker 官方镜像
Elasticsearch是一款功能强大的开源搜索与分析引擎,它基于Lucene构建,具备分布式、高扩展、实时处理的特性,能够高效存储、检索和分析各类结构化与非结构化数据,广泛应用于日志分析、全文搜索、业务智能等场景,通过简化数据探索流程,帮助用户快速从海量数据中获取有价值的洞察,让复杂数据的分析与利用变得简单高效。
6.6千 次收藏5亿+ 次下载
12 天前更新
bitnamicharts/elasticsearch logo

bitnamicharts/elasticsearch

bitnamicharts
Bitnami提供的Elasticsearch Helm chart,用于在Kubernetes环境中便捷部署和管理分布式搜索引擎Elasticsearch。
1 次收藏500万+ 次下载
10 个月前更新
itzg/elasticsearch logo

itzg/elasticsearch

itzg
提供易于配置的Elasticsearch节点,支持灵活创建任意规模的集群,可与非容器化节点混合使用,适用于开发、测试和生产环境。
72 次收藏50万+ 次下载
8 年前更新
demisto/elasticsearch logo

demisto/elasticsearch

demisto
暂无描述
10万+ 次下载
12 天前更新
onlyoffice/elasticsearch logo

onlyoffice/elasticsearch

ONLYOFFICE 在线办公套件
暂无描述
2 次收藏5万+ 次下载
3 年前更新
wikibase/elasticsearch logo

wikibase/elasticsearch

wikibase
集成自定义插件、适用于Wikimedia/Wikibase的Elasticsearch搜索引擎
1 次收藏1万+ 次下载
1 年前更新

查看更多 elasticsearch 相关镜像

轩辕镜像配置手册

按平台快速找到配置文档

Docker

登录仓库拉取

登录认证 · 私有仓库

专属域名拉取

免登录 · 高速拉取

Linux

Docker 镜像配置

Windows / Mac

Docker Desktop 配置

MacOS OrbStack

OrbStack 容器

Docker Compose

Compose 项目配置

NAS

群晖

Synology 配置

飞牛

fnOS 镜像配置

绿联

绿联 NAS

威联通

QNAP 配置

极空间

极空间 NAS

企业仓库

其他仓库

ghcr · Quay · nvcr

Harbor 镜像源

Proxy Repository 对接

Portainer 镜像源

Registries 配置

Nexus 镜像源

Docker Proxy 缓存

开发工具

Dev Containers

VS Code 开发容器

Podman

Podman 配置指南

Singularity / Apptainer

HPC 科学计算容器

Kubernetes

K8s Containerd

Kubernetes · Containerd

K3s

轻量级集群

面板 / 网络

爱快路由

iKuai 镜像加速

宝塔面板

一键配置镜像源

AI

用 AI 使用轩辕镜像

agents.md · AI 对话 · 提示词

一键安装

一键安装 Docker

Linux Docker 一键安装

需要其他帮助?请查看我们的 常见问题 Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

功能

免费版与专业版区别

功能对比 · 版本选择

支持的镜像仓库

Docker Hub · GCR · GHCR

新手拉取配置

登录 · 专属域名 · 配置

docker search 限制

专属域名 · Hub 搜索

不支持 push

仅支持 pull · 不支持

拉取速度原因

带宽 · 缓存 · 冷热镜像

错误码

402 与流量用尽

402 · 流量包 · 充值

401 认证失败

401 · docker login

manifest unknown

标签错误 · 镜像不存在

410 Gone 排查

410 · Docker 升级

429 限流

免费版 · 请求频率

其他报错

DNS 超时

DNS 解析 · 网络超时

TLS 证书失败

no matching manifest(架构)

账号

失败是否计费

manifest · blob · 计费

申请开发票(企业 / 个人)

企业 · 个人 · 工单

修改登录密码

网站 · 仓库 · 重置

注销账户

工单 · 数据 · 注销

原理

mirrors 不生效

daemon.json · 重启

去掉域名前缀

docker tag · 重命名

指定架构拉取

ARM64 · AMD64 · 多架构

latest 与「最新」

digest · 版本号 · 标签

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
raaftech/elasticsearch
教程轩辕镜像功能与使用教程
价格查看流量套餐与价格
热门查看热门 Docker 镜像推荐
博客Docker 镜像公告与技术博客
官方公众号:源码跳动|官方技术交流群:51517718
官方公众号:源码跳动|官方技术交流群:|问题咨询请:提交工单
商务合作:点击复制邮箱
©2024-2026 源码跳动
商务合作:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.