首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将数据插入到在Docker中启动的TDengine服务器

无法将数据插入到在Docker中启动的TDengine服务器
EN

Stack Overflow用户
提问于 2021-12-20 02:45:33
回答 1查看 37关注 0票数 0

目前,我使用命令docker run -p 6030-6042:6030-6042/tcp -p 6030-6040:6030-6040/udp --name taosd tdengine/tdengine启动TDengine服务器,然后在另一个容器中使用docker run --rm -it tdengine/tdengine taos -h <host ip>连接taos shell。它连接ok,但是当将数据插入到表中时,它会导致错误:

代码语言:javascript
复制
Welcome to the TDengine shell from Linux, Client Version:2.0.22.0
Copyright (c) 2020 by TAOS Data, Inc. All rights reserved.

taos> create database if not exists test;
Query OK, 0 of 0 row(s) in database (0.000638s)

taos> use test;
Database changed.

taos> create table if not exists tb1 (ts timestamp, n int);
Query OK, 0 of 0 row(s) in database (0.000880s)

taos> insert into tb1 values (now, 1);

DB error: Unable to resolve FQDN (0.090774s)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-12-20 03:07:02

TDengine连接基于FQDN(主机名(如果您熟悉的话)-这需要服务器端点的DNS解析)。

在您的示例中,首先在start:docker run --hostname taosd ...中设置主机名,然后在shell中设置位于容器或主机的echo <your ip> taosd >> /etc/hosts。然后您可以将它与taos -h taosd连接(这里我们使用taosd作为TDengine服务器容器主机名,所有连接都应该使用主机名来解析真正的ip)。

步骤:

  1. 启动TDengine服务器:

码头运行--rm --主机名taosd \ -p 6030-6042:6030-6042/tcp -p 6030-6040:6030-6040/udp \-name taosd -p

  1. 作为客户端启动另一个容器:

docker run -rm -it --add taosd: tdengine/tdengine taos -h taosd

--add-host将在/etc/host中添加dns解析行。

您可以使用外部IP或通过docker inspect taosd |jq '.[0].NetworkSettings.Networks[].IPAddress' -r.获取容器ip。

  1. 现在用您的
  2. 插入数据:

如果不存在测试,则创建数据库;使用测试;如果不存在tb1,则创建表(ts时间戳,n int);插入到tb1值(现在,1);

全都做完了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70416921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档