我试图通过SSH隧道建立到远程docker容器中运行的进程的JMX连接。从Java Mission Control、VisualVM或JConsole中,连接超时,我无法连接。
如果我在JConsole(或其他任何一个)中直接连接到远程计算机IP,则建立了JMX连接。当我使用SSH隧道时,问题就出现了。
ssh username@remote-machine-ip -L 9090:127.0.0.1:9090
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.port=9090
-Dcom.sun.management.jmxremote.rmi.port=9090
-Dcom.sun.management.jmxremote.ssl=false
-Djava.rmi.server.hostname=127.0.0.1
-Djava.rmi.server.useLocalHostname=true
在远程计算机上运行tcpdump,我可以捕获一些到达端口9090的数据包,但在JConsole中,它以“连接失败”而失败。
你知道我做错了什么吗?
一切都是正确的...或多或少。我的本地机器运行Windows,我正在Git Bash上创建SSH隧道!如果我用Windows命令行或Putty创建SSH隧道,它会很好地工作...
问题内容: 我需要以编程方式启动新的Java进程并动态设置JMX端口。所以不要这样做 我想做以下 但这不起作用。知道为什么吗? 问题答案: 在调用代码时,您已经错过了配置jmxremote连接器的机会。 您需要做的是创建您自己的rmi注册表和JMXConnectorServer来侦听rmi调用并将它们传递给MBeanServer。
我想创建一个ssh隧道,从我的计算机到远程服务器,再到运行Jupyter Notebook(计算机)的docker容器 Docker容器托管在运行OS X(El Capitan)的机器上。Docker正在使用默认的机器IP:192.168.99.100。 我可以坐在运行Docker容器的服务器上,使用浏览器(192.168.99.100:8888)从Docker容器创建Jupyter笔记本。这将验
我创建了一个Dockerfile来在Docker中运行Docker: 启动容器并运行docker ps后,我得到:“无法连接到unix:///var/run/docker.sock.docker守护程序是否正在运行?" 我在容器中执行了命令dockerd,结果是: 启动守护程序时出错:初始化网络控制器时出错:获取控制器实例时出错:未能创建NAT链DOCKER:iptables失败:iptables
问题内容: [Updated1]我有一个外壳,它将在某些功能中更改TCP内核参数,但是现在我需要使该外壳在Docker容器中运行,这意味着,该外壳需要知道它在容器内运行并停止配置内核。 现在我不确定如何实现,这是容器内部的内容: 我可以使用上面的任何标志来确定此过程是否在容器内运行吗? [Updated2]:我还注意到确定进程是否在lxc/Docker中运行,但在这种情况下似乎不起作用,我容器中的
我天真地期望此命令在运行的容器中运行bash shell: 看起来这是不可能的,我得到的错误: 因此,如果我想在运行的容器中运行bashshell(例如,用于诊断目的) 我必须在其中运行SSH服务器并通过ssh登录吗?
我有一个java程序,需要编译和运行在其他机器上的ssh。程序占用的内存小于。 然而,当我在linux上运行这个程序(通过ssh连接)时,我的进程会被杀死。 我在eclipse中测试了这个程序,它很容易在内存的pc上运行。 还有一件事,它有时起作用,有时不起作用。“ 那么有人能告诉我,我如何才能看到我的程序被杀死的原因吗?