Apache IoTDB Docker镜像使用指南
2025-07-08 07:50:45作者:舒璇辛Bertina
一、镜像版本演进
Apache IoTDB的Docker镜像随着版本迭代经历了多次重要变更:
-
0.12版本前:采用单一镜像模式,命名格式为
apache/iotdb:0.<主版本>.<次版本>
-
0.12版本起:开始区分单节点和集群模式
- 单节点镜像:
apache/iotdb:0.<主版本>.<次版本>-node
- 集群镜像:
apache/iotdb:0.<主版本>.<次版本>-cluster
- 单节点镜像:
-
1.0.0版本起:进一步细分为三种镜像类型
- 配置节点镜像:
apache/iotdb:<版本>-confignode
- 数据节点镜像:
apache/iotdb:<版本>-datanode
- 单机版镜像:
apache/iotdb:<版本>-standalone
- 配置节点镜像:
关于latest标签:
- 0.12版本前指向最新的
0.<主版本>.<次版本>
- 0.12版本后指向最新的
0.<主版本>.<次版本>-node
二、镜像构建方法
基础构建命令
docker build -t 镜像名称:版本号 -f Dockerfile文件名
1.0.0版本构建示例
cd src/main/DockerCompose
./do-docker-build.sh -t 目标类型 -v 版本号
构建前准备:
- 创建
src/main/target
目录 - 将官方发布的zip包放入该目录,例如:
- apache-iotdb-1.0.0-all-bin.zip
- apache-iotdb-1.0.0-confignode-bin.zip
- apache-iotdb-1.0.0-datanode-bin.zip
三、服务端运行指南
单节点运行示例
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:<版本>
端口说明
端口号 | 用途说明 |
---|---|
6667 | RPC通信端口 |
31999 | JMX监控端口 |
8086 | InfluxDB协议端口 |
8181 | 监控端口 |
5555 | 数据同步端口 |
9003 | 集群内部元数据RPC端口 |
40010 | 集群内部数据RPC端口 |
四、数据持久化配置
建议将数据和日志目录挂载到宿主机:
docker run -it \
-v /宿主机/数据目录:/iotdb/data \
-v /宿主机/日志目录:/iotdb/logs \
--name 容器名称 \
apache/iotdb:<版本>
实际应用示例:
docker run -it \
-v /data/iotdb_data:/iotdb/data \
-v /var/log/iotdb:/iotdb/logs \
--name my_iotdb \
apache/iotdb:1.0.0-standalone
五、客户端连接指南
- 查找运行中的容器:
docker ps
- 进入容器交互模式:
docker exec -it 容器ID /bin/bash
- 启动CLI客户端:
- 0.10.x及以上版本:
start-cli.sh
- 0.9.x及0.8.1版本:
start-client.sh
或直接执行:
docker exec -it 容器ID start-cli.sh
六、最佳实践建议
-
生产环境部署:
- 务必配置数据卷挂载
- 根据业务需求选择合适的端口映射
- 集群模式下注意各节点间的网络连通性
-
资源分配:
- 建议通过
--memory
限制内存使用 - 使用
--cpus
限制CPU资源
- 建议通过
-
监控维护:
- 通过8181端口监控系统状态
- 定期检查日志目录
-
版本选择:
- 新项目建议使用1.0.0+版本
- 已有系统升级时注意版本兼容性
通过Docker部署Apache IoTDB可以快速搭建开发测试环境,生产环境建议结合Kubernetes等容器编排工具实现高可用部署。