我们有一个基于Springboot的Java webapp,包括hazelcast。我们在迁移到Docker环境时遇到了问题。我想我在Docker网络上缺少一些东西。我确实尝试了Hazelcast in multinode docker environments with TCPIP中提到的选项,但它没有用。我们使用普通的hazelcast.xml
JDK 假 假 假 关闭 $ {} hazelcast.ip 15 三十 15 60 开发 DEV-通
<network>
<public-address>${hazelcast.ip}</public-address>
<port auto-increment="true" port-count="100">5701</port>
<outbound-ports>
<ports>0</ports>
</outbound-ports>
<join>
<multicast enabled="false"></multicast>
<tcp-ip enabled="true">
<member-list>
</member-list>
</tcp-ip>
</join>
</network>
<partition-group enabled="false" />
<executor-service name="default">
<pool-size>16</pool-size>
<!--Queue capacity. 0 means Integer.MAX_VALUE. -->
<queue-capacity>0</queue-capacity>
</executor-service>
HostIP Docker Container IP
10.151.16.27 10.42.236.108
10.151.16.209 10.42.152.56
主机1 ip route输出 默认通过10.42.0.1 dev eth0 10.42.0.0/16 dev eth0 src 10.42.236.108 169.254.169.250通过10.42.0.1 dev eth0
主持人2 ip route ouptut 默认通过10.42.0.1 dev eth0 10.42.0.0/16 dev eth0 src 10.42.152.56 169.254.169.250通过10.42.0.1 dev eth0
我通过将容器IP注入hazelcast.ip环境变量来启动docker。集群没有形成。
如果我在这里遗漏了什么,请告诉我。