![](/img/trans.png)
[英]How to connect my Java application to Cassandra running through docker?
[英]how to connect cassandra in thingboard running on Docker
我正在使用东西板(在docker上),但我还希望能够连接到东西板docker上的cassandra。 我想要的是检查表结构和数据本身。
从在docker run上安装whatboard的参考中 ,没有任何-p 9042:9042配置。
因此,我已将其添加到docker run命令中(例如docker run -p 9090:9090 -p 1883:1883 -p 9042:9042 -p 5683:5683 / udp -v /thingsboard/.mytb-data:/data。 ....)。 但是,我无法将9042上的telnet事件发送到我的主主机。
然后,我在thingboard docker(/ etc / cassandra)中检查了cassandra配置文件。 我发现rpc_address的值是localhost,没有broadcast_rpc_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
谢谢
根据Thingsboard / tb-cassandra的Dockerfile ,Cassandra在默认配置上运行,并在localhost
上侦听。 这就是为什么它不接受来自Docker主机的任何连接的原因。
为了通过cqlsh
连接到Cassandra,您需要使用以下命令登录到容器:
docker exec -it <container_id> /bin/bash
那么您可以通过发出cqlsh
命令连接到Cassandra。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.