[英]Connect the Cassandra container to application web container failed - Error: 202 Connecting to Node
所以,我创建了两个 docker 的图像,我想用 docker composer 将一个连接到另一个。 第一个镜像是 Cassandra 3.11.11(来自官方的 hub docker),另一个是我自己用 9.0.54 版的 tomcat 和我的应用程序 spring boot 创建的。
我运行下面的 docker-compose.ylm来连接两个容器,其中cassandra:latest是 cassandra 的图像,而centos7-tomcat9-myapp
是我的应用程序网络的图像。
version: '3'
services:
casandra:
image: cassandra:latest
myapp:
image: centos7-tomcat9-myapp
depends_on:
- casandra
environment:
- CASSANDRA_HOST=cassandra
我运行命令行来启动应用程序网络的图像: docker run -it --rm --name fe3c2f120e01 -p 8888:8080 centos7-tomcat9-app
。
在控制台日志中,spring boot 显示以下错误。 它发生了,因为 myapp 的容器无法连接到 Cassandra 的容器。
2021-10-15 15:12:14.240 警告 1 --- [ s0-admin-1] cdodiccontrol。 ControlConnection:[s0] 连接到节点时出错(endPoint=127.0.0.1:9042,hostId=null,hashCode=47889c49),尝试下一个节点(ConnectionInitException:[s0|control|connecting...] 协议初始化请求,步骤 1( OPTIONS): 发送请求失败 (io.netty.channel.StacklessClosedChannelException) )
我究竟做错了什么?
编辑
这是关于 cassandra 图像的 nodetool 状态:
[root@GDBDEV04 cassandradb]# docker exec 552d359d177e nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 172.18.0.3 84.76 KiB 16 100.0% 685b6e0a-13c2-4d41-ba99-f3b0fa94477c rack1
编辑 2我需要将 Cassandra 的 DB 图像与 Web 应用程序图像连接起来。 连接微服务就不一样了。 我试图将 127.0.0.0(在 cassandra.yaml 内)更改为 0.0.0.0(仅用于测试)并且错误仍然存在。 我认为我的 docker-compose.yml 中肯定缺少某些东西。 然而,我不知道是什么。
最后我发现了错误。 就我而言,我需要修复docker-compose.yml
文件,添加 Cassandra 和 Tomcat 的端口。 在我的 application.properties(spring boot 配置文件)中,我更改了集群的名称。
Docker-compose.yml:
version: '3'
services:
cassandra:
image: cassandra:latest
ports:
- "9044:9042"
myapp:
image: centos7-tomcat9-myapp
ports:
-"8086:8080"
depends_on:
- cassandra
environment:
- CASSANDRA_HOST=cassandra
应用程序配置:
# CASSANDRA (CassandraProperties)
cassandra.cluster = Test Cluster
cassandra.contactpoints=${CASSANDRA_HOST}
这个问题帮助我解决了我的问题: Accessing docker container mysql databases
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.