Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
40a534fb
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
40a534fb
编写于
4月 13, 2021
作者:
E
Elias Soong
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-3412] <docs>: create docker version for "getting start".
上级
ec582d39
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
59 addition
and
72 deletion
+59
-72
documentation20/cn/02.getting-started/01.docker/docs.md
documentation20/cn/02.getting-started/01.docker/docs.md
+56
-71
documentation20/cn/02.getting-started/docs.md
documentation20/cn/02.getting-started/docs.md
+3
-1
未找到文件。
documentation20/cn/02.getting-started/01.docker/docs.md
浏览文件 @
40a534fb
# 通过
Docker快速体验
TDengine
# 通过
Docker 快速体验
TDengine
由于目前TDengine2.0的服务器仅能在Linux系统上安装和运行,如果开发者使用的是Mac或Windows系统,可能需要安装虚拟机或远程连接Linux服务器,来使用TDengine。Docker轻巧快速,可以作为一个可行,经济,高效的替代方案。下文准备一步一步介绍,如何通过Docker快速使用TDengine,可用于开发,测试,和备份数据
。
虽然并不推荐在生产环境中通过 Docker 来部署 TDengine 服务,但 Docker 工具能够很好地屏蔽底层操作系统的环境差异,很适合在开发测试或初次体验时用于安装运行 TDengine 的工具集。特别是,借助 Docker,能够比较方便地在 Mac OSX 和 Windows 系统上尝试 TDengine,而无需安装虚拟机或额外租用 Linux 服务器
。
### 下载Docker
下文通过 Step by Step 风格的介绍,讲解如何通过 Docker 快速建立 TDengine 的单节点运行环境,以支持开发和测试。
docker的下载可以参考
[
docker官网文档Get Docker部分
](
https://docs.docker.com/get-docker/
)
。
## 下载 Docker
安装成功后可以查看下docker版本。
Docker 工具自身的下载请参考
[
Docker官网文档
](
https://docs.docker.com/get-docker/
)
。
安装完毕后可以在命令行终端查看 Docker 版本。如果版本号正常输出,则说明 Docker 环境已经安装成功。
```
bash
$
docker
-v
Docker version 20.10.5, build 55c4c88
```
### 在docker容器中运行TDengine
## 在 Docker 容器中运行 TDengine
+
使用命令拉取tdengine
镜像,并使它在后台运行。
1,使用命令拉取 TDengine
镜像,并使它在后台运行。
```
bash
$
docker run
-d
tdengine/tdengine
cdf548465318c6fc2ad97813f89cc60006393392401cae58a27b15ca9171f316
```
  
**run**
:和前面的docker命令组合起来,运行一个容器。
  
**-d**
:让容器在后台运行。
  
**tdengine/tdengine**
:拉取的TDengine官方发布的应用镜像
  
**cdf548465318c6fc2ad97813f89cc60006393392401cae58a27b15ca9171f316**
:
  
返回的长字符是容器ID,我们可以通过容器ID来查看对应的容器。
-
**docker run**
:通过 Docker 运行一个容器。
-
**-d**
:让容器在后台运行。
-
**tdengine/tdengine**
:拉取的 TDengine 官方发布的应用镜像。
-
**cdf548465318c6fc2ad97813f89cc60006393392401cae58a27b15ca9171f316**
:这个返回的长字符是容器 ID,我们可以通过容器 ID 来查看对应的容器。
+
确认容器是否已经运行起来了。
2,确认容器是否已经正确运行。
```
bash
$
docker ps
...
...
@@ -44,38 +37,27 @@ CONTAINER ID IMAGE COMMAND CREATED STATUS ·
cdf548465318 tdengine/tdengine
"taosd"
14 minutes ago Up 14 minutes ···
```
  
**docker ps**
:列出所有在运行中的容器信息。
  
**CONTAINER ID**
:容器ID。
  
**IMAGE**
:使用的镜像。
  
**COMMAND**
:启动容器时运行的命令。
  
**CREATED**
:容器创建时间。
  
**STATUS**
:容器状态。UP表示运行中。
-
**docker ps**
:列出所有正在运行状态的容器信息。
-
**CONTAINER ID**
:容器 ID。
-
**IMAGE**
:使用的镜像。
-
**COMMAND**
:启动容器时运行的命令。
-
**CREATED**
:容器创建时间。
-
**STATUS**
:容器状态。UP 表示运行中。
+
进入docker容器内,使用tdengine。
3,进入 Docker 容器内,使用 TDengine。
```
bash
$
docker
exec
-it
cdf548465318 /bin/bash
root@cdf548465318:~/TDengine-server-2.0.13.0#
```
  
**exec**
:通过docker exec命令进入容器,如果退出容器不会停止。
-
**docker exec**
:通过 docker exec 命令进入容器,如果退出,容器不会停止。
-
**-i**
:进入交互模式。
-
**-t**
:指定一个终端。
-
**cdf548465318**
:容器 ID,需要根据 docker ps 指令返回的值进行修改。
-
**/bin/bash**
:载入容器后运行 bash 来进行交互。
  
**-i**
:进入交互模式。
  
**-t**
:指定一个终端。
  
**cdf548465318**
:容器ID,需要根据具体情况进行修改。
  
**/bin/bash**
:载入容器后运行bash来进行交互。
+
进入容器后,执行TDengine命令行程序。
4,进入容器后,执行 taos shell 客户端程序。
```
bash
$
root@cdf548465318:~/TDengine-server-2.0.13.0# taos
...
...
@@ -86,23 +68,20 @@ Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.
taos>
```
TDengine
终端连接服务成功
,打印出了欢迎消息和版本信息。如果失败,会有错误信息打印出来。
TDengine
终端成功连接服务端
,打印出了欢迎消息和版本信息。如果失败,会有错误信息打印出来。
在
TDengine终端中,可以通过SQL命令来创建/删除数据库,表,超级表等,并可以进行插入查询操作。具体可以参考
[
TDengine官网文档的TAOS SQL部分
](
https://www.taosdata.com/cn/documentation/taos-sql
)
。
在
TDengine 终端中,可以通过 SQL 命令来创建/删除数据库、表、超级表等,并可以进行插入和查询操作。具体可以参考
[
TAOS SQL 说明文档
](
https://www.taosdata.com/cn/documentation/taos-sql
)
。
### 通过taosdemo进一步了解TDengine
## 通过 taosdemo 进一步了解 TDengine
+
接上面的步骤,先退出TDengine命令行
程序。
1,接上面的步骤,先退出 TDengine 终端
程序。
```
bash
$
taos> q
root@cdf548465318:~/TDengine-server-2.0.13.0#
```
+
在Linux终端执行taosdemo。
2,在命令行界面执行 taosdemo。
```
bash
$
root@cdf548465318:~/TDengine-server-2.0.13.0# taosdemo
...
...
@@ -125,12 +104,11 @@ $ root@cdf548465318:~/TDengine-server-2.0.13.0# taosdemo
###################################################################
```
回车后,该命令将新建一个数据库
test,并且自动创建一张超级表meters,并以超级表meters为模版创建了1万张表,表名从"t0"到"t9999"。每张表有10万条记录,每条记录有f1,f2,f3三个字段,时间戳ts字段从"2017-07-14 10:40:00 000" 到"2017-07-14 10:41:39 999"。每张表带有areaid和loc两个标签TAG, areaid被设置为1到10, loc被设置为"beijing"或者“
shanghai"。
回车后,该命令将新建一个数据库
test,并且自动创建一张超级表 meters,并以超级表 meters 为模版创建了 1 万张表,表名从 "t0" 到 "t9999"。每张表有 10 万条记录,每条记录有 f1,f2,f3 三个字段,时间戳 ts 字段从 "2017-07-14 10:40:00 000" 到 "2017-07-14 10:41:39 999"。每张表带有 areaid 和 loc 两个标签 TAG,areaid 被设置为 1 到 10,loc 被设置为 "beijing" 或 "
shanghai"。
+
运行taodemo命令的结果,可以进入TDengine命令行,进行验证。
3,运行 taodemo 命令的结果,可以进入 TDengine 终端,进行验证。
  
**进入命令行。**
-
**进入命令行。**
```
bash
$
root@cdf548465318:~/TDengine-server-2.0.13.0# taos
...
...
@@ -141,17 +119,17 @@ Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.
taos>
```
  
**查看数据库。**
-
**查看数据库。**
```
bash
$
taos> show databases
;
name | created_time | ntables | vgroups | ···
test
| 2021-04-13 02:14:15.950 | 10000 | 6 | ···
log | 2021-04-12 09:36:37.549 | 4 | 1 | ···
```
  
**查看超级表。**
-
**查看超级表。**
```
bash
$
taos> use
test
;
...
...
@@ -165,7 +143,7 @@ Query OK, 1 row(s) in set (0.001737s)
```
  
**查看表,限制输出十条。**
-
**查看表,限制输出十条。**
```
bash
$
taos>
select
*
from test.t0 limit 10
;
...
...
@@ -185,7 +163,7 @@ Query OK, 10 row(s) in set (0.003638s)
```
  
**查看t0
表的标签值。**
-
**查看 t0
表的标签值。**
```
bash
$
taos>
select
areaid, loc from test.t0
;
...
...
@@ -196,14 +174,21 @@ Query OK, 1 row(s) in set (0.002904s)
```
### 开发时连接上通过docker启动的TDengine
## 停止正在 Docker 中运行的 TDengine 服务
```
bash
$
docker stop cdf548465318
cdf548465318
```
-
**docker stop**
:通过 docker stop 停止指定的正在运行中的 docker 镜像。
-
**cdf548465318**
:容器 ID,根据 docker ps 指令返回的结果进行修改。
连接并且使用在docker容器中的启动的TDengine,有以下两个思路:
## 编程开发时连接在 Docker 中的 TDengine
从 Docker 之外连接使用在 Docker 容器内运行的 TDengine 服务,有以下两个思路:
1
.
通过端口映射(-p),将容器内部开放的网络端口映射到宿主机的指定端口上。通过挂载本地目录(-v),可以实现宿主机与容器内部的数据同步,防止容器删除后,数据丢失。
1
,
通过端口映射(-p),将容器内部开放的网络端口映射到宿主机的指定端口上。通过挂载本地目录(-v),可以实现宿主机与容器内部的数据同步,防止容器删除后,数据丢失。
```
bash
$
docker run
-d
-v
/etc/taos:/etc/taos
-p
6041:6041 tdengine/tdengine
...
...
@@ -213,12 +198,12 @@ $ curl -u root:taosdata -d 'show databases' 127.0.0.1:6041/rest/sql
{
"status"
:
"succ"
,
"head"
:[
"name"
,
"created_time"
,
"ntables"
,
"vgroups"
,
"replica"
,
"quorum"
,
"days"
,
"keep1,keep2,keep(D)"
,
"cache(MB)"
,
"blocks"
,
"minrows"
,
"maxrows"
,
"wallevel"
,
"fsync"
,
"comp"
,
"precision"
,
"status"
]
,
"data"
:[],
"rows"
:0
}
```
  
第一条命令,启动了一个运行了TDengine的docker容器,并且将容器的6041端口映射到宿主机的6041端口上。
-
第一条命令,启动一个运行了 TDengine 的 docker 容器,并且将容器的 6041 端口映射到宿主机的 6041 端口上。
-
第二条命令,通过 RESTful 接口访问 TDengine,这时连接的是本机的 6041 端口,可见连接成功。
  
第二条命令,通过RESTful接口访问TDengine,这时连接的是本机的6041端口,可见连接成功
。
注意:在这个示例中,出于方便性考虑,只映射了 RESTful 需要的 6041 端口。如果希望以非 RESTful 方式连接 TDengine 服务,则需要映射从 6030 开始的共 11 个端口。在例子中,挂载本地目录也只是处理了配置文件所在的 /etc/taos 目录,而没有挂载数据存储目录
。
2.
直接通过exec命令,进入到docker容器中去做开发。
2,直接通过 exec 命令,进入到 docker 容器中去做开发。也即,把程序代码放在 TDengine 服务端所在的同一个 Docker 容器中,连接容器本地的 TDengine 服务。
```
bash
$
docker
exec
-it
526aa188da /bin/bash
...
...
documentation20/cn/02.getting-started/docs.md
浏览文件 @
40a534fb
...
...
@@ -10,7 +10,9 @@ TDengine软件分为服务器、客户端和报警模块三部分,目前2.0版
### 通过Docker容器运行
请参考
[
TDengine官方Docker镜像的发布、下载和使用
](
https://www.taosdata.com/blog/2020/05/13/1509.html
)
暂时不建议生产环境采用 Docker 来部署 TDengine 的客户端或服务端,但在开发环境下或初次尝试时,使用 Docker 方式部署是十分方便的。特别是,利用 Docker,可以方便地在 Mac OSX 和 Windows 环境下尝试 TDengine。
详细操作方法请参照
[
通过Docker快速体验TDengine
](
https://www.taosdata.com/cn/documentation/getting-started/docker
)
。
### <a class="anchor" id="package-install"></a>通过安装包安装
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录