Apache IoTDB Docker镜像使用指南
2025-07-07 08:15:18作者:翟江哲Frasier
镜像版本演进
Apache IoTDB的Docker镜像版本策略经历了几个重要阶段:
-
0.12版本之前:
- 采用统一镜像格式:
apache/iotdb:0.<主版本>.<次版本>
- 不区分单机版和集群版
- 采用统一镜像格式:
-
0.12版本开始:
- 引入两种镜像类型:
- 单机版:
apache/iotdb:0.<主版本>.<次版本>-node
- 集群版:
apache/iotdb:0.<主版本>.<次版本>-cluster
- 单机版:
- 引入两种镜像类型:
-
1.0.0版本开始:
- 细分为三种镜像:
- ConfigNode节点:
apache/iotdb:<版本>-confignode
- DataNode节点:
apache/iotdb:<版本>-datanode
- 单机版(1C1D):
apache/iotdb:<版本>-standalone
- ConfigNode节点:
- 细分为三种镜像:
最新标签(latest)策略
- 0.12版本前:指向最大的
0.<主版本>.<次版本>
镜像 - 0.12版本起:指向最大的
0.<主版本>.<次版本>-node
镜像
镜像构建方法
基础构建命令
docker build -t 自定义镜像名:版本号 -f Dockerfile-版本号
1.0.0版本构建示例
-
首先准备构建环境:
mkdir -p src/main/target
-
将官方发布的ZIP包放入target目录,例如:
apache-iotdb-1.0.0-all-bin.zip apache-iotdb-1.0.0-confignode-bin.zip apache-iotdb-1.0.0-datanode-bin.zip
-
执行构建脚本:
cd src/main/DockerCompose ./do-docker-build.sh -t 目标类型 -v 版本号
示例(构建单机版):
./do-docker-build.sh -t standalone -v 1.0.0
运行IoTDB服务
单节点运行示例
docker run -d --name iotdb \
-p 6667:6667 \
-p 31999:31999 \
-p 8181:8181 \
-p 5555:5555 \
apache/iotdb:<版本>
集群模式运行示例
docker run -d --name iotdb \
-p 6667:6667 \
-p 31999:31999 \
-p 8181:8181 \
-p 5555:5555 \
-p 9003:9003 \
-p 40010:40010 \
apache/iotdb:<版本>
端口说明
IoTDB默认使用以下端口:
端口 | 用途描述 |
---|---|
6667 | RPC服务端口 |
31999 | JMX监控端口 |
8181 | 系统监控端口 |
5555 | 数据同步端口 |
9003 | 集群元数据RPC端口 |
40010 | 集群数据RPC端口 |
8086 | InfluxDB协议兼容端口 |
数据持久化配置
建议将数据目录和日志目录挂载到宿主机:
docker run -it \
-v /宿主机/数据目录:/iotdb/data \
-v /宿主机/日志目录:/iotdb/logs \
--name 容器名称 \
apache/iotdb:<版本>
示例(Windows路径):
docker run -it \
-v /D/docker/iotdb_data:/iotdb/data \
-v /D/docker/iotdb_logs:/iotdb/logs \
--name my-iotdb \
apache/iotdb:1.0.0-standalone
使用IoTDB客户端
方法一:进入容器执行
-
查找运行中的容器:
docker ps
-
进入容器:
docker exec -it 容器ID或名称 /bin/bash
-
启动CLI:
- 0.10.x及以上版本:
start-cli.sh
- 0.9.x及0.8.1版本:
start-client.sh
- 0.10.x及以上版本:
方法二:直接执行CLI命令
docker exec -it 容器名称 start-cli.sh
最佳实践建议
-
生产环境部署:
- 务必配置数据卷挂载,确保数据持久化
- 根据实际需求调整JVM内存参数
-
集群部署:
- 需要为每个节点单独配置网络参数
- 建议使用docker-compose管理多容器部署
-
版本选择:
- 新项目建议使用1.0.0及以上版本
- 注意不同版本间的镜像命名差异
-
资源限制:
- 建议为容器设置CPU和内存限制
- 大数据量场景下需要适当调整存储空间
通过Docker部署Apache IoTDB可以大大简化环境配置过程,使开发者能够快速搭建和测试时序数据库环境。本指南涵盖了从镜像构建到服务运行的完整流程,帮助用户高效地使用IoTDB Docker镜像。