Apache Druid (incubating) 是一个高性能分析数据存储,专为事件驱动型数据设计。该Docker镜像封装了Apache Druid的核心组件,提供了便捷的部署方式,适用于快速搭建Druid集群或单节点实例,以支持实时和批量数据的高效分析处理。
免责声明:Apache Druid 是Apache软件基金会(ASF)正在孵化的项目,由Apache孵化器赞助。所有新接受的项目都需要经过孵化阶段,直到进一步审查表明其基础设施、通信和决策流程已稳定,达到与其他成功ASF项目一致的水平。孵化状态不一定反映代码的完整性或稳定性,但确实表明该项目尚未得到ASF的完全认可。
从Docker Hub拉取官方镜像:
bashdocker pull apache/incubator-druid
使用docker run命令启动单节点Druid实例(内置ZooKeeper和本地元数据库,仅用于开发测试):
bashdocker run -d \ --name druid-single \ -p 8081:8081 \ # Coordinator UI -p 8082:8082 \ # Overlord UI -p 8083:8083 \ # Broker UI -p 8088:8088 \ # Router UI -p 8090:8090 \ # Historical节点 -p 8200:8200 \ # MiddleManager节点 apache/incubator-druid
启动后,通过http://localhost:8081访问Coordinator UI,验证服务是否正常运行。
推荐使用docker-compose部署Druid集群,以下为基础配置示例(需根据实际环境调整):
docker-compose.yml配置
yamlversion: '3' services: zookeeper: image: zookeeper:3.7 ports: - "2181:2181" environment: - ZOO_MY_ID=1 volumes: - zk-data:/data - zk-datalog:/datalog coordinator: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=coordinator - DRUID_XMX=1g - DRUID_XMS=1g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8081:8081" volumes: - druid-coordinator:/opt/druid/var overlord: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=overlord - DRUID_XMX=1g - DRUID_XMS=1g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8082:8082" volumes: - druid-overlord:/opt/druid/var broker: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=broker - DRUID_XMX=2g - DRUID_XMS=2g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8083:8083" volumes: - druid-broker:/opt/druid/var router: image: apache/incubator-druid depends_on: - coordinator - overlord - broker environment: - DRUID_ROLE=router - DRUID_XMX=512m - DRUID_XMS=512m - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8088:8088" volumes: - druid-router:/opt/druid/var historical: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=historical - DRUID_XMX=4g - DRUID_XMS=4g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8090:8090" volumes: - druid-historical:/opt/druid/var - druid-segment-storage:/opt/druid/var/segment-storage # 持久化Segment数据 middlemanager: image: apache/incubator-druid depends_on: - zookeeper environment: - DRUID_ROLE=middlemanager - DRUID_XMX=2g - DRUID_XMS=2g - ZOOKEEPER_HOST=zookeeper - ZOOKEEPER_PORT=2181 ports: - "8200:8200" volumes: - druid-middlemanager:/opt/druid/var volumes: zk-data: zk-datalog: druid-coordinator: druid-overlord: druid-broker: druid-router: druid-historical: druid-segment-storage: druid-middlemanager:
启动集群:
bashdocker-compose up -d
环境变量配置
Druid节点可通过环境变量调整核心配置,常用环境变量如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
DRUID_ROLE | 指定Druid节点角色(必填),可选值:coordinator/overlord/broker/router/historical/middlemanager | 无 |
DRUID_XMX | JVM堆内存上限(如1g/2g) | 1g |
DRUID_XMS | JVM堆内存初始值 | 同DRUID_XMX |
ZOOKEEPER_HOST | ZooKeeper服务地址 | localhost |
ZOOKEEPER_PORT | ZooKeeper服务端口 | 2181 |
DRUID_CONFIG | 自定义配置文件路径(通过挂载外部配置文件覆盖默认配置) | /opt/druid/conf/druid |
自定义配置文件
若需精细化配置(如调整查询缓存、数据保留策略等),可通过挂载外部配置文件实现。例如,将本地配置目录挂载到容器内:
bashdocker run -d \ --name druid-coordinator \ -e DRUID_ROLE=coordinator \ -v /path/to/custom-config:/opt/druid/conf/druid \ apache/incubator-druid
配置文件结构需遵循Druid官方规范,具体可参考Druid配置文档。
#druid频道,通过邀请链接注册。本镜像基于Apache License, Version 2.0开源许可协议发布。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
无需登录使用专属域名
Kubernetes 集群配置 Containerd
K3s 轻量级 Kubernetes 镜像加速
VS Code Dev Containers 配置
Podman 容器引擎配置
HPC 科学计算容器配置
ghcr、Quay、nvcr 等镜像仓库
Harbor Proxy Repository 对接专属域名
Portainer Registries 加速拉取
Nexus3 Docker Proxy 内网缓存
需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单
docker search 限制
站内搜不到镜像
离线 save/load
插件要用 plugin install
WSL 拉取慢
安全与 digest
新手拉取配置
镜像合规机制
manifest unknown
no matching manifest(架构)
invalid tar header(解压)
TLS 证书失败
DNS 超时
域名连通性排查
410 Gone 排查
402 与流量用尽
401 认证失败
429 限流
D-Bus 凭证提示
413 与超大单层
来自真实用户的反馈,见证轩辕镜像的优质服务