java - 带JMX的datadog,datadog docker镜像没有安装java
问题描述
我正在尝试使用 Datadog 通过 JMX 监控我的应用程序...我已成功将我的应用程序部署在 docker 容器中,并公开了 JMX 端口并确认我确实可以从任何地方连接到该端口并获取信息。
所以我试图设置datadog docker镜像以使用JMX并连接到服务器......我已经配置好了,但在运行时datadog镜像尝试开始使用JMX,但未能说它找不到Java它的图像...我登录到图像,果然它没有安装java。
从数据狗文档:
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 build 期间安装 java 的尝试都失败了......如何将 java 安装到 debian docker 映像中,但没有任何工作......每个人都死于 apt-get 行返回一个非零
我如何在 debian 映像上安装 JAVA?
或者更好的是,如何让带有 JMX 的数据狗图像正常运行?
解决方案
显然,应该使用包含 java 图像的 datadog/agent:latest-jmx ...我只是在文档中错过了它。
推荐阅读
- go - 在 Golang 中将基类型转换为派生类型
- javascript - 你如何强制一个电子应用程序只有一个实例?
- javascript - 如何创建 Ajax 标头获取方法身份验证承载
- button - WhatsApp 内嵌按钮
- flutter - 从推送通知打开 Flutter 应用程序,当它被杀死时
- reactjs - 仅在状态增加时调用 useEffect()
- python - 在数据框中的 bin 上获取数据透视表
- java - 在 SharedPreference 中存储登录状态
- elasticsearch - 我可以在 Elasticsearch 中按术语拆分单词以提高“通配符”的性能吗?
- docker - Docker:驱动器尚未共享