我的 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/