java - 带 JMX 的 Datadog,datadog docker 镜像未安装 java

标签 java docker jmx datadog

我正在尝试使用 Datadog 通过 JMX 监视我的应用程序...我已成功将我的应用程序部署在 Docker 容器中,并公开了 JMX 端口并确认我确实可以从任何地方连接到该端口并获取信息。

因此,我尝试设置 datadog docker 镜像以使用 JMX 并连接到服务器...我已全部配置完毕,但在运行时 datadog 镜像尝试开始利用 JMX,但失败说不能在其图像上找到 Java...我登录该图像,果然它没有安装 Java。

来自 datadog 文档:

 Java Path
The agent does not come with a bundled JVM, but will use the one installed on 
your system. Therefore you must make sure that the Java home directory is 
present in the path of the user running the agent.

Alternatively, you can specify the JVM path in the integration’s configuration 
file:

java_bin_path: /path/to/java

好吧,这一切都很好,但是如果我尝试通过卷挂载将我的主机 java 暴露给镜像,则它不起作用,因为主机是 Apple 并且如果镜像尝试运行 java 二进制文件它抛出一个无效的二进制文件格式..这并不奇怪,因为它是 MACOS 二进制文件而不是 Debian Linux 二进制文件(datadog 图像就是)....

所以,我一直在尝试获取 datadog 镜像并以其为基础使用 Java 构建一个新镜像...但我完全不成功,在 docker 构建期间安装 java 的每次尝试都失败了..我尝试过每个如何将 java 安装到 debian docker 镜像中的示例,但都不起作用...每个人都因 apt-get 行返回非零而死亡

到底如何在 debian 镜像上安装 JAVA?

或者更好的是,如何使用 JMX 使 datadog 镜像正常运行?

最佳答案

显然应该使用包含 java 镜像的 datadog/agent:latest-jmx...我只是在文档中错过了它。

关于java - 带 JMX 的 Datadog,datadog docker 镜像未安装 java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51866333/

相关文章:

docker - 如何让/etc/profile 在 Alpine/Docker 中自动运行

Tomcat:连接器的 "processingTime"是什么意思?

java - 无法将 JMX 与 Spring 应用程序集成

docker - 手动删除卷和容器中的文件后,如何强制 Docker 释放存储空间?

java - 为什么我使用 JMX 时会收到错误 "connection refused"

java - 在 install4j 应用程序中强制更新

java - 使用正确的凭据访问基于 REST 的 Web 服务时出现响应代码 401

java - 如何使用字符串数组中的用户输入来调用不同对象的方法?

java - 数学公式的表示

docker - docker 纯数据容器的持久性如何