TDengine Docker Compose部署:快速搭建单机与集群测试环境
你还在为时间序列数据库部署繁琐而困扰?本文3分钟教你用Docker Compose一键搭建TDengine单机/集群环境,含完整配置与运维技巧。读完你将获得:单机环境3步部署法、3节点集群配置模板、容器状态监控脚本、数据持久化方案。
环境准备
安装Docker与Docker Compose
# Ubuntu系统示例
sudo apt-get update && sudo apt-get install -y docker.io docker-compose
sudo systemctl enable docker && sudo systemctl start docker
基础配置文件准备
创建docker-compose.yml基础模板,基于官方Dockerfile构建服务:
version: '3.8'
services:
taosd:
build:
context: ./packaging/docker
dockerfile: Dockerfile
ports:
- "6030:6030" # taosd服务端口
- "6041:6041" # taosAdapter端口
volumes:
- taosdata:/var/lib/taos
- taoslog:/var/log/taos
environment:
- TZ=Asia/Shanghai
restart: always
volumes:
taosdata:
taoslog:
配置文件基于项目packaging/docker/Dockerfile构建,暴露了文档中定义的6030/6041等核心端口。
单机部署
完整配置示例
version: '3.8'
services:
taosd:
build:
context: ./packaging/docker
dockerfile: Dockerfile
container_name: tdengine-single
ports:
- "6030:6030"
- "6041:6041"
- "6043:6043" # taosKeeper端口
- "6060:6060" # taosExplorer端口
volumes:
- ./packaging/cfg/taos.cfg:/etc/taos/taos.cfg:ro # 挂载配置文件
- taosdata:/var/lib/taos
- taoslog:/var/log/taos
environment:
- TZ=Asia/Shanghai
- TAOS_FQDN=localhost
restart: always
healthcheck:
test: ["CMD", "taos", "-s", "show databases;"]
interval: 10s
timeout: 5s
retries: 3
volumes:
taosdata:
taoslog:
启动与验证
# 构建并启动服务
docker-compose up -d --build
# 检查服务状态
docker-compose ps
# 查看日志
docker-compose logs -f taosd
数据写入测试
使用Python示例脚本验证服务可用性:
# 安装Python客户端
pip install taospy
# 运行测试脚本
python examples/python/read_example.py
示例脚本位于examples/python/read_example.py,可直接用于验证数据读写功能。
集群部署
3节点集群配置
version: '3.8'
services:
taosd1:
build: ./packaging/docker
container_name: tdengine-node1
ports:
- "6030:6030"
- "6041:6041"
volumes:
- ./packaging/cfg/taos1.cfg:/etc/taos/taos.cfg:ro
- taosdata1:/var/lib/taos
- taoslog1:/var/log/taos
environment:
- TZ=Asia/Shanghai
- TAOS_FQDN=taosd1
restart: always
networks:
tdengine-net:
ipv4_address: 172.28.0.2
taosd2:
build: ./packaging/docker
container_name: tdengine-node2
volumes:
- ./packaging/cfg/taos2.cfg:/etc/taos/taos.cfg:ro
- taosdata2:/var/lib/taos
- taoslog2:/var/log/taos
environment:
- TZ=Asia/Shanghai
- TAOS_FQDN=taosd2
restart: always
networks:
tdengine-net:
ipv4_address: 172.28.0.3
taosd3:
build: ./packaging/docker
container_name: tdengine-node3
volumes:
- ./packaging/cfg/taos3.cfg:/etc/taos/taos.cfg:ro
- taosdata3:/var/lib/taos
- taoslog3:/var/log/taos
environment:
- TZ=Asia/Shanghai
- TAOS_FQDN=taosd3
restart: always
networks:
tdengine-net:
ipv4_address: 172.28.0.4
networks:
tdengine-net:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16
volumes:
taosdata1:
taoslog1:
taosdata2:
taoslog2:
taosdata3:
taoslog3:
节点配置文件示例
节点1配置文件taos1.cfg:
firstEp taosd1:6030
secondEp taosd2:6030,taosd3:6030
fqdn taosd1
serverPort 6030
numOfThreads 8
配置模板参考packaging/cfg/taos.cfg。
集群初始化与验证
# 启动集群
docker-compose up -d
# 初始化集群
docker exec -it tdengine-node1 taos -s "create cluster if not exists mycluster;"
# 查看集群状态
docker exec -it tdengine-node1 taos -s "show dnodes;"
运维与监控
日志管理
# 设置日志轮转
docker exec -it tdengine-single vi /etc/logrotate.d/taos
# 查看实时日志
docker-compose logs -f --tail=100 taosd
性能测试
使用内置性能测试工具:
# 运行QPS测试
docker exec -it tdengine-single /usr/local/taos/bin/taosBenchmark -n 100000 -t 10
性能测试工具源码位于tools/lastqps-test/。
服务扩容
# 新增节点配置示例
taosd4:
build: ./packaging/docker
container_name: tdengine-node4
volumes:
- ./packaging/cfg/taos4.cfg:/etc/taos/taos.cfg:ro
- taosdata4:/var/lib/taos
- taoslog4:/var/log/taos
environment:
- TZ=Asia/Shanghai
- TAOS_FQDN=taosd4
restart: always
networks:
tdengine-net:
ipv4_address: 172.28.0.5
总结与后续
本文介绍了使用Docker Compose快速部署TDengine单机和集群环境的方法,涵盖配置文件编写、服务启动、集群初始化和基本运维操作。生产环境部署请参考官方文档docs/zh/08-operation/。
点赞收藏本文,下期将带来"TDengine与Grafana可视化集成"实战教程,敬请关注!
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



