繁体   English   中英

无法连接到本地 datastax cassandra 在 docker 中运行

[英]Cannot connect to local datastax cassandra running in docker

我执行了这个 docker 命令来运行 datastax cassandra 的实例:

docker run -p 9042:9042 -e DS_LICENSE=accept --rm --name my-dse -d datastax/dse-server:6.8.2 -s

然后运行datastax studio的实例:

docker run -e DS_LICENSE=accept --link my-dse --name my-studio -p 9091:9091 -d datastax/dse-studio

当我在http://localhost:9091打开浏览器以创建连接时,出现此错误:

All host(s) tried for query failed (tried: /127.0.0.1:9042 (com.datastax.driver.core.exceptions.TransportException: [/127.0.0.1:9042] Cannot connect))

我检查了在 docker 中运行的 cassandra 实例,我可以使用 cqlsh 进行连接:

$ docker exec -it my-dse bash -c "cqlsh -u cassandra -p cassandra"
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 6.8.0 | DSE 6.8.2 | CQL spec 3.4.5 | DSE protocol v2]
Use HELP for help.
cassandra@cqlsh> 

这是基于此处的说明: https://www.datastax.com/blog/2019/03/running-dse-microsoft-windows-using-docker

您需要指定my-dse:9042your_machine_ip:9042而不是127.0.0.1:9092localhost:9042 your_machine_ip:9042 主要问题是对于每个 Docker 镜像,本地主机是该容器的 uniq,并且在 Studio 容器中没有 DSE 进程监听端口 9042

尝试使用命令提示符下的以下命令查询运行 my-dse 容器的容器的 IP 地址: docker 检查 my-dse | 查找“IP 地址” 您应该能够使用该 IP 地址作为 DataStax Studio 连接中的主机。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM