Docker 上的 Spring Boot Admin 看不到 Docker 上的其他应用程序

Posted

技术标签:

【中文标题】Docker 上的 Spring Boot Admin 看不到 Docker 上的其他应用程序【英文标题】:Spring Boot Admin on Docker does not see other applications on Docker 【发布时间】:2018-03-07 20:13:54 【问题描述】:

我有一个在 Docker 上运行的简单 Spring Boot Admin 应用程序。 我的问题是它将在 Docker 上运行的其他应用程序显示为脱机。 在别处运行的应用程序显示得很好。

谁能帮助并告诉我如何配置或添加什么到应用程序?提前致谢

编辑:问题出在 Docker 上,运行类似配置的其他应用程序在管理应用程序中在线,只有 docker 不是

编辑2: 错误:

"timestamp":1506501630423,"status":500,"error":"Internal Server Error","exception":"com.netflix.zuul.exception.ZuulException","message":"Connect to IP_ADDRESS] failed: connect timed out"

【问题讨论】:

所有的docker都在同一个网络吗? 是的,它们都在同一个网络中(覆盖,范围:swarm),hystrix 也出现问题 - 它不显示来自 docker 的应用程序。尤里卡看到所有这些 能不能分享一下配置或者相关代码,不然很难猜... github.com/codecentric/spring-boot-admin/tree/master/…是这个项目 【参考方案1】:

您是否在其余项目中包含了 Spring Boot Actuator 依赖项?

如果不是,您需要包含它:

马文:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

分级:

dependencies 
    compile("org.springframework.boot:spring-boot-starter-actuator")

假设您正在运行 3 个应用程序:A、B 和 C。 如果仅将依赖项添加到 A 和 B,您将看到,在重新启动它们后,A 和 B 将显示为 ONLINE 或 UP,而 C 将保持为 OFFLINE。

更新:

检查您的docker-compose.yml 文件后,我看到了一个错字:

在你设置的eureka服务中:

environment:
  - EUREKA_INSTANCE_PREFERIPADDRESS=true

它应该是:

environment:
  - EUREKA_INSTANCE_PREFER_IP_ADDRESS=true

此外,如果此环境配置不起作用,请尝试:

environment:
  - EUREKA_INSTANCE_PREFER_IP_ADDRESS="true"

【讨论】:

不是真的,我的每个应用程序都已经具有执行器依赖项,它们在 eureka 中显示良好。在 docker 上运行的应用程序存在问题。 @KompiKompi 请检查我的更新答案,我在您的 docker-compose 中看到了一个 TYPO【参考方案2】:

好的,我弄错了 - 我在 docker 中的应用程序不在同一个网络中。当我把它们放在同一个网络中时,它就开始工作了。 那是一个不同的问题,所以我关闭这个话题。 谢谢,对不起。

【讨论】:

以上是关于Docker 上的 Spring Boot Admin 看不到 Docker 上的其他应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot Actuator 为 Docker 上的应用程序返回

如何将我的 Spring Boot 应用程序连接到 Docker 上的 Redis 容器?

Spring Boot Docker Container 无法连接到托管在 Docker 主机上的 postgresql

Docker,Mongodb,Windows 上的 Spring Boot 出现连接被拒绝错误

docker与Spring boot的集成:docker-maven-plugin使用

使用docker-compose时无法访问docker容器内的spring-boot rest-endpoint