当前位置: 代码迷 >> 综合 >> Jconsole + Jmx 远程监控docker容器运行
  详细解决方案

Jconsole + Jmx 远程监控docker容器运行

热度:52   发布时间:2024-02-26 20:29:28.0

Jconsole + Jmx 远程监控docker容器运行

这里以一个springboot项目打包到docker环境来举例

新建一个springboot项目

这个很简单就不多解释了

Dockerfile

FROM openjdk:8-jdk-alpineEXPOSE 8080 20020VOLUME /tmpADD ./target/*.jar app.jarCMD java \-Djava.rmi.server.hostname='127.0.0.1' \-Dcom.sun.management.jmxremote \-Dcom.sun.management.jmxremote.port=20020 \-Dcom.sun.management.jmxremote.rmi.port=20020 \-Dcom.sun.management.jmxremote.ssl=false \-Dcom.sun.management.jmxremote.authenticate=false \-Djava.security.egd=file:/dev/./urandom \-jar /app.jar

这里主要是看dockerfile的配置,需要注意下

  • jmx的端口需要通过EXPOSE 暴露出去
  • hostname 需要是外网IP
  • 需要指定jmxremote.rmi.port

启动你的docker

docker run -p 8090:8080 -p 20020:20020 springboot-docker

使用Jconsole 连接

命令行输入以下命令

jconsole

然后你会看到一个弹窗
在这里插入图片描述

在远程进程中输入你的主机IP+端口号,点击连接即可
在这里插入图片描述

  相关解决方案