Spring Boot应用程序具有Docker容器中的ignite缓存

时间:2018-10-12 06:31:02

标签: docker spring-boot ignite

问题摘要:无法访问通过主机网络在容器中运行的Spring Boot Web应用。

我正在机器上运行两个容器。

->容器1:Apache ignite作为Spring Boot(未启用Web服务器)应用程序运行,并在服务器模式下启用了静态IP地址范围(47100-47109)。 ->容器2:使用Apache ignite作为嵌入式客户端模式(具有相同的静态IP地址范围)的示例Spring boot Web应用程序,尝试连接到容器1中的另一个ignite节点。

由于apache ignite节点可以通过静态IP地址发现,因此我在启动容器(1&2)时设置了选项主机联网模式(--net = host)。

到目前为止,一切都很好:我可以按预期在两个容器组成的集群中启动两个容器和缓存节点。现在的问题是:当我尝试访问容器2中的spring boot Web应用程序时,无法在默认端口8080中访问该应用程序。如果以独立应用程序身份运行,但在主机网络中使用容器,则可以访问该spring boot Web应用程序。无法访问端口8080。在此问题中,任何人都可以点亮一些灯光吗?

非常感谢! 纳雷什

1 个答案:

答案 0 :(得分:0)

我想您正在使用Docker运行您的容器。为了将端口公开给主机,您应该使用-p参数运行docker容器。像tcpdump -lni eth0 -vvv -s 0 port bootps | grep --line-buffered -E -i 'client-id|requested-ip|hostname' | awk '{print $NF}' | tr -d '"' | tr '\n' ' '; printf '\n'