目前我正在使用該命令docker run -p 6030-6042:6030-6042/tcp -p 6030-6040:6030-6040/udp --name taosd tdengine/tdengine啟動 TDengine 服務器,然后將其與taos另一個容器中的 shell連接到docker run --rm -it tdengine/tdengine taos -h <host ip>. 它連接正常,但是在將資料插入表時,會導致錯誤:
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)
uj5u.com熱心網友回復:
TDengine 連接基于 FQDN(如果您熟悉主機名) - 這需要服務器端點的 DNS 決議)。
在您的情況下,首先在 start: 中設定主機名docker run --hostname taosd ...,然后echo <your ip> taosd >> /etc/hosts在您的 shell 中設定容器或主機。然后就可以連接了taos -h taosd(這里我們使用taosd作為TDengine服務器容器主機名,所有連接都應該使用主機名來決議真實ip。)
腳步:
啟動TDengine服務器:
docker run --rm --hostname taosd \ -p 6030-6042:6030-6042/tcp -p 6030-6040:6030-6040/udp \ --name taosd tdengine/tdengine啟動另一個容器作為客戶端:
docker run --rm -it --add-host taosd:<your ip> tdengine/tdengine taos -h taosd--add-host將在 /etc/hosts 中添加 dns 決議行。<your ip>您可以使用外部 IP 或通過docker inspect taosd |jq '.[0].NetworkSettings.Networks[].IPAddress' -r.現在用你的 sql 插入資料:
create database if not exists test; use test; create table if not exists tb1 (ts timestamp, n int); insert into tb1 values (now, 1);
全做完了。
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/388091.html
上一篇:如何使用golangsdk運行`dockerexec-it<container_name>bash-c"somecommands"`
