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

Apache IoTDB Docker镜像使用指南

2025-07-07 08:15:18作者:翟江哲Frasier

镜像版本演进

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

  1. 0.12版本之前

    • 采用统一镜像格式:apache/iotdb:0.<主版本>.<次版本>
    • 不区分单机版和集群版
  2. 0.12版本开始

    • 引入两种镜像类型:
      • 单机版:apache/iotdb:0.<主版本>.<次版本>-node
      • 集群版:apache/iotdb:0.<主版本>.<次版本>-cluster
  3. 1.0.0版本开始

    • 细分为三种镜像:
      • ConfigNode节点:apache/iotdb:<版本>-confignode
      • DataNode节点:apache/iotdb:<版本>-datanode
      • 单机版(1C1D):apache/iotdb:<版本>-standalone

最新标签(latest)策略

  • 0.12版本前:指向最大的0.<主版本>.<次版本>镜像
  • 0.12版本起:指向最大的0.<主版本>.<次版本>-node镜像

镜像构建方法

基础构建命令

docker build -t 自定义镜像名:版本号 -f Dockerfile-版本号

1.0.0版本构建示例

  1. 首先准备构建环境:

    mkdir -p src/main/target
    
  2. 将官方发布的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
    
  3. 执行构建脚本:

    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客户端

方法一:进入容器执行

  1. 查找运行中的容器:

    docker ps
    
  2. 进入容器:

    docker exec -it 容器ID或名称 /bin/bash
    
  3. 启动CLI:

    • 0.10.x及以上版本:
      start-cli.sh
      
    • 0.9.x及0.8.1版本:
      start-client.sh
      

方法二:直接执行CLI命令

docker exec -it 容器名称 start-cli.sh

最佳实践建议

  1. 生产环境部署

    • 务必配置数据卷挂载,确保数据持久化
    • 根据实际需求调整JVM内存参数
  2. 集群部署

    • 需要为每个节点单独配置网络参数
    • 建议使用docker-compose管理多容器部署
  3. 版本选择

    • 新项目建议使用1.0.0及以上版本
    • 注意不同版本间的镜像命名差异
  4. 资源限制

    • 建议为容器设置CPU和内存限制
    • 大数据量场景下需要适当调整存储空间

通过Docker部署Apache IoTDB可以大大简化环境配置过程,使开发者能够快速搭建和测试时序数据库环境。本指南涵盖了从镜像构建到服务运行的完整流程,帮助用户高效地使用IoTDB Docker镜像。