java - 从 docker 容器内部连接到 Cassandra

标签 java docker cassandra

我的 Cassandra 实例正在 Google 云平台上运行,我正在部署连接到容器中的 cassandra 的应用程序。当我运行它而不对其进行 Docker 化时,该应用程序运行良好。将其部署到容器中后,我收到以下错误,

NoHostAvailableException: All host(s) tried for query failed

我尝试从容器内部 ping cassandra 实例的 IP,并且没有超时,并且 ping 看起来不错。

对于容器,我使用 maven:latest 镜像来创建容器并使用容器内的 webapp-runner 运行我的应用程序。

这是我的 dockerfile

FROM maven:latest
COPY . /tmp
WORKDIR /tmp
RUN mvn clean package
EXPOSE 9042 80
CMD java -jar target/dependency/webapp-runner.jar target/testproject.war

最佳答案

这听起来像是防火墙问题。您能确定所需的端口已打开吗? http://cassandra.apache.org/doc/latest/faq/index.html?highlight=port#what-ports

关于java - 从 docker 容器内部连接到 Cassandra,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50274806/

相关文章:

java - 将图像从浏览器拖放到 JLabel 上

java - 更快的字符串匹配/迭代方法?

java - Android Studio SQLite 错误 : Couldn't read row 0, 来自 CursorWindow 的第 3 列

docker - Windows 10 机器上 Docker Desktop 中的 Kubernetes 集群设置过程

docker - 如何指定在 Jenkinsfile 中安装了 docker 的节点类型?

java - Cassandra-Cli 拒绝连接

java - 我可以在 Java 中使用 resultset.getBoolean 在 SQL 中获取 Tinyint

docker - 我们如何设置docker容器在重启和失败时重启?

scala - 在 Cassandra 上运行的 Spark 由于 ClassNotFoundException : com. datastax.spark.connector.rdd.partitioner.CassandraPartition 而失败(详情见内部)

cassandra - 建模cassandra表以进行upsert和select查询