我正在使用thingsboard(在docker上),但我也希望能够连接到cassandra在thingboard docker上。我想要的是检查表结构和数据本身。
参考docker run上安装thingboard,没有任何-p 9042:9042配置。
因此,我将它添加到docker run命令中(例如docker run-p9090:9090-p1883:1883-p9042:9042-p5683:5683/udp-v/thingsboard/.mytb data:/data….)。但是,我无法将9042上的事件telnet发送到我的主主机。
然后,我检查了thingboard docker(/etc/cassandra)中的cassandra配置文件。我发现rpc\u address的值是localhost,广播rpc\u address没有任何行。我不确定应该在配置文件中输入什么,因为它是docker容器。
以下是我的端口设置(我在下面添加了屏幕截图):
0.0.0.0:1883->1883/tcp, 0.0.0.0:9042->9042/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:5683->5683/udp
CONTAINER ID -> ac2b6e2316a7
IMAGE -> thingsboard/tb-cassandra
COMMAND -> "start-tb.sh"
PORTS -> 0.0.0.0:1883->1883/tcp, 0.0.0.0:9042->9042/tcp, 0.0.0.0:9090->9090/tcp, 0.0.0.0:5683->5683/udp
docker上的端口运行
谢谢您
1条答案
按热度按时间fcy6dtqo1#
根据thingsboard/tb cassandra的dockerfile,cassandra在默认配置上运行,并监听
localhost
. 这就是为什么它不接受来自docker主机的任何连接。以便通过
cqlsh
您需要使用以下命令登录到容器:docker exec -it <container_id> /bin/bash
然后你可以通过发出cqlsh
命令。