本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

本Docker镜像为一款轻量级数据集成工具,专注于实现Kafka消息队列与时序数据库(Time Series Database, TSDB)之间的数据流转。通过配置化方式,将Kafka主题中的消息数据提取、转换后,高效写入目标时序数据库,解决实时数据流从消息中间件到时序存储系统的无缝对接问题,适用于需要长期存储、分析时序数据的场景。
docker run -d \ --name kafka-to-tsdb \ -e KAFKA_BOOTSTRAP_SERVERS="kafka-broker:9092" \ -e KAFKA_TOPICS="sensor-data,metrics" \ -e TSDB_TYPE="influxdb" \ -e TSDB_URL="[***]" \ -e TSDB_DATABASE="iot_data" \ -e TSDB_USER="admin" \ -e TSDB_PASSWORD="password" \ -v ./data-mapping.json:/app/config/mapping.json \ your-registry/kafka-to-tsdb:latest
version: '3' services: kafka-to-tsdb: image: your-registry/kafka-to-tsdb:latest container_name: kafka-to-tsdb environment: - KAFKA_BOOTSTRAP_SERVERS=kafka:9092 - KAFKA_TOPICS=iot-sensors,system-metrics - KAFKA_CONSUMER_GROUP=tsdb-writer - TSDB_TYPE=timescaledb - TSDB_URL=jdbc:postgresql://timescaledb:5432/metrics_db - TSDB_USER=tsdb_user - TSDB_PASSWORD=tsdb_pass - BATCH_SIZE=1000 - FLUSH_INTERVAL=5000 volumes: - ./mapping:/app/config depends_on: - kafka - timescaledb kafka: image: confluentinc/cp-kafka:latest # Kafka配置省略... timescaledb: image: timescale/timescaledb:latest-pg14 # TimescaleDB配置省略...
| 环境变量 | 描述 | 示例值 | 是否必填 |
|---|---|---|---|
KAFKA_BOOTSTRAP_SERVERS | Kafka集群地址,多个地址用逗号分隔 | kafka-1:9092,kafka-2:9092 | 是 |
KAFKA_TOPICS | 需消费的Kafka主题,多个主题用逗号分隔 | sensor-data,app-metrics | 是 |
KAFKA_CONSUMER_GROUP | Kafka消费者组ID,用于偏移量管理 | tsdb-writer-group-1 | 否(默认:tsdb-writer) |
TSDB_TYPE | 目标时序数据库类型 | influxdb/timescaledb/prometheus | 是 |
TSDB_URL | 时序数据库连接地址 | [***]/jdbc:postgresql://tsdb:5432/db | 是 |
TSDB_DATABASE | 目标数据库名称 | iot_data | 是 |
TSDB_USER | 时序数据库认证用户名 | admin | 否(如无需认证) |
TSDB_PASSWORD | 时序数据库认证密码 | password | 否(如无需认证) |
BATCH_SIZE | 批量写入数据量阈值(达到阈值触发写入) | 1000(默认:500) | 否 |
FLUSH_INTERVAL | 定时写入间隔(毫秒,达到间隔触发写入,无论是否达到批量阈值) | 5000(默认:3000) | 否 |
通过挂载JSON配置文件(如/app/config/mapping.json)定义Kafka消息到时序数据库的字段映射规则,示例如下(以InfluxDB为例):
{ "sensor-data": { // Kafka主题名 "measurement": "sensor_measure", // InfluxDB measurement名称 "tags": ["sensor_id", "location"], // 作为InfluxDB tag的字段(从Kafka消息中提取) "fields": { // 作为InfluxDB field的字段(支持类型转换) "temperature": {"type": "float"}, "humidity": {"type": "float"}, "status": {"type": "string"} }, "timestamp": { // 时间戳字段配置 "field": "ts", // 从消息中提取的时间戳字段名 "format": "unix_ms" // 时间戳格式:unix_ms/unix/iso8601 }, "filter": "status != 'error'" // 数据过滤条件(可选) } }
BATCH_SIZE与FLUSH_INTERVAL,并配置数据库连接池参数(通过环境变量DB_MAX_CONNECTIONS等)。LOG_LEVEL=debug),验证数据写入正确性。

免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429