1.拉取TDengine镜像
docker pull tdengine/tdengine:latest
2.创建挂载目录, 注意给文件赋予读和写的权限。
sudo mkdir -p /whale/v-TDengine/taos/log
sudo mkdir -p /whale/v-TDengine/taos/data
3.使用docker安装tdengine需映射网络端口和文件夹,时间较长
sudo docker run -d --name tdengine -h tdengine -p 6041:6041 -p 6030-6035:6030-6035 -p 6030-6035:6030-6035/udp -v /wahle/v-TDengine/taos/log:/var/log/taos -v /whale/v-TDengine/taos/data:/var/lib/taos tdengine/tdengine:latest
解释
#--name tdengine ##指定容器名称便于访问
#-h tdengine ##指定容器主机名,用作TDengine的FQDN
#-p 6041:6041 ##映射RESTful端口
#-p 6030-6035:6030-6035
#-p 6030-6035:6030-6035/udp ##映射taos客户端使用端口,必须包含TCP和UDP
#-v /wahle/v-TDengine/taos/log:/var/log/taos ##映射日志目录
#-v /wahle/v-TDengine/taos/data:/var/lib/taos ##映射数据目录
#tdengine/tdengine:latest ## 最新的映像版本名称为tdengine
4.查看容器
docker ps
如果容器未启动,查看下以下问题
(1)查看容器是否已创建未启动,没有启动的话,删除下先容器
docker ps -a查看包含未启动的容器
docker rm 删除某一个容器
(2) 如果挂载后容器启动为空,查看下挂载文件的权限,是否为可读和写。因为docker里的用户是普通用户,只有为普通用户赋有读写权限才可访问
(3)设置docker可访问的文件夹。打开mac电脑顶部docker的Preferences,添加如下图目录
5.进入容器
docker exec -it tdengine bash
6.创建 test
数据库
taos
create database test;
7.创建 plc_data 表,关于 TDengine 数据结构以及 SQL
use test;
CREATE TABLE plc_data (
ts timestamp,
plc1 float,
plc2 float,
plc3 float,
plc_id NCHAR(255)
);
创建数据库表成功后,就在挂载的文件夹data下产生了这些目录文件
8.后期关闭窗口或者重启电脑后,docker的容器就终止了, 重新进入按照如下
(1)找到终止的容器,对应的container id : docker ps -a
(2)启动容器 :docker start xxx
(3) 进入容器 :docker exec -it tdengine bash
9. 设置好容器开机自启,这样关闭窗口后,重新打开窗口容器就自动启动了
(1)要设置 docker 自动启动 : systemctl enable docker.service
(2)设置 docker 容器为自启动: docker update --restart=always 容器ID/容器名
(1)查看数据库
show databases;
(2)查看数据库表
describe test.plc_data;
(3)插入数据
INSERT INTO plc_data VALUES (1538548685000, 10.3, 219, 0.31,123);
(4)添加列
alter table plc_data add column plc4 float;
(5)查看表数据
select * from plc_data;