首页
/ Apache IoTDB Docker镜像使用全指南

Apache IoTDB Docker镜像使用全指南

2025-07-09 01:28:10作者:昌雅子Ethen

前言

Apache IoTDB作为一款高性能的时序数据库,提供了便捷的Docker部署方式。本文将详细介绍IoTDB Docker镜像的版本演进、构建方法、运行配置以及客户端连接等核心内容,帮助开发者快速掌握IoTDB的容器化部署。

镜像版本演进

IoTDB的Docker镜像版本经历了几个重要阶段:

  1. 0.12版本之前:采用统一镜像格式

    apache/iotdb:0.<major>.<minor>
    
  2. 0.12版本开始:区分单节点和集群模式

    • 单节点镜像:apache/iotdb:0.<major>.<minor>-node
    • 集群镜像:apache/iotdb:0.<major>.<minor>-cluster
  3. 1.0.0版本开始:进一步细分为三种镜像

    • 配置节点:apache/iotdb:<version>-confignode
    • 数据节点:apache/iotdb:<version>-datanode
    • 单机版(1C1D):apache/iotdb:<version>-standalone

关于latest标签:

  • 0.12之前指向最大的0.<major>.<minor>版本
  • 0.12开始指向最大的0.<major>.<minor>-node版本

镜像构建指南

基础构建方法

使用docker build命令构建自定义镜像:

docker build -t my-iotdb:<version> -f Dockerfile-<version>

1.0.0版本特殊构建

对于1.0.0及以上版本,需要使用专门的构建脚本:

cd src/main/DockerCompose
./do-docker-build.sh -t <target> -v <version>

构建前准备:

  1. 创建src/main/target目录
  2. 将官方下载的zip包放入该目录,包括:
    • apache-iotdb--all-bin.zip
    • apache-iotdb--confignode-bin.zip
    • apache-iotdb--datanode-bin.zip

运行IoTDB服务

单节点运行示例

docker run -d --name iotdb \
  -p 6667:6667 \
  -p 31999:31999 \
  -p 8181:8181 \
  -p 5555:5555 \
  apache/iotdb:<version>

集群模式运行示例

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:<version>

端口说明

IoTDB默认使用以下端口:

  • 6667:RPC端口(客户端连接)
  • 31999:JMX监控端口
  • 8086:InfluxDB协议端口
  • 8181:系统监控端口
  • 5555:数据同步端口
  • 9003:集群内部元数据RPC端口
  • 40010:集群内部数据RPC端口

数据持久化配置

为了持久化存储IoTDB的数据和日志,可以使用Docker卷映射:

docker run -it \
  -v /host/path/iotdb_data:/iotdb/data \
  -v /host/path/iotdb_logs:/iotdb/logs \
  --name my_iotdb \
  apache/iotdb:<version>

其中:

  • /host/path/iotdb_data:宿主机上存储数据的目录
  • /host/path/iotdb_logs:宿主机上存储日志的目录

客户端连接指南

进入容器执行CLI

  1. 查找运行中的容器ID:
docker ps
  1. 进入容器并启动CLI:
docker exec -it iotdb /bin/bash
# 然后执行
start-cli.sh  # 0.10.x及以上版本
# 
start-client.sh  # 0.9.x及0.8.1版本

直接执行CLI

也可以直接运行CLI而不进入容器:

docker exec -it iotdb start-cli.sh

最佳实践建议

  1. 生产环境部署:务必配置数据卷映射,确保数据持久化
  2. 资源限制:根据数据规模合理设置容器的CPU和内存限制
  3. 网络配置:集群部署时注意容器间网络通信配置
  4. 版本选择:生产环境建议使用特定版本而非latest标签

通过本文的详细介绍,开发者应该能够全面掌握Apache IoTDB的Docker化部署方法。无论是单节点开发测试还是集群生产部署,Docker都提供了便捷高效的解决方案。