docker - 将 Apache Cassandra 连接到 DataGrip
问题描述
在我为 Cassandra 提取映像并运行容器并创建数据库后,我想将其数据源添加到 DataGrip 以从那里管理数据库。当我运行容器时,我让它也监听端口9842
。通过键入命令:
docker pull cassandra
docker run -d cassandra-node -p 9842:9842
docker exec -it cassandra-node bash
主机是localhost
,我尝试使用jdbc:cassandra://localhost:9842
URL 访问数据库。
我尝试连接,但每次我收到错误:
All host(s) tried for query failed (tried: localhost/127.0.0.1:9842 (com.datastax.driver.core.exceptions.TransportException: [localhost/127.0.0.1:9842] Channel has been closed)).
解决方案
如果您在 localhost 上运行容器并且没有更改 Cassandra 的配置,Cassandra 将在容器中的端口 9042 上启动。您应该将 docker run 命令更改为
docker run -d cassandra-node -p 9842:9042
这会将容器的端口 9042 绑定到主机上的端口 9842。
推荐阅读
- c# - LINQ to Entities 在运行时更改实体
- html - 如何在 Bootstraps 4 中最小化卡片间距
- openstreetmap - 向 OpenStreetMaps 或 Bing Maps 提供路径数据
- notepad++ - 如何在 Notepad++ 的引号中突出显示字符串?
- javascript - 使用 innerHtml 添加的元素不受 Javascript 库影响
- java - Java RNG - 如何打印出操作系统使用的安全随机文件?
- azure - 在 Azure AppService 上创建电子邮件帐户
- kubernetes - kubelet 使用静态 cpu-manager-policy 但成功挂载
- c# - Itext7 Html到PDF转换没有正确切换字体
- octave - 将曲面拟合到不规则点?(八度或独立程序)