我正在使用docker运行corda节点,并试图使用Jolokia公开JMX指标。我的node.conf如下:
devMode = true
jarDirs = ["/opt/corda"]
p2pAddress = "bankb:10002"
jmxMonitoringHttpPort = 10006
rpcSettings {
useSsl = false
address = "bankb:10003"
adminAddress = "bankb:10005"
}
myLegalName = "O=BankB, L=London, C=GB"
keyStorePassword = "cordacadevpass"
trustStorePassword = "trustpass"
rpcUsers=[
{
username=corda
password=corda_initial_password
permissions=[
ALL
]
}
]我可以从日志中看到Jolokia开始了:
bankb | I> Using policy access restrictor classpath:/jolokia-access.xml
bankb | Jolokia: Agent started with URL http://127.0.0.1:10006/jolokia/但是我不能使用浏览器连接到Jolokia端点,我相信这是因为它只绑定到内部网络接口。如果corda配置没有公开配置绑定网络接口的原因,我如何定义Jolokia将绑定到的主机?
发布于 2019-06-20 06:02:55
从Groups.io 讨论更新实际答案
java -Dcapsule.jvm.args="-javaagent:drivers/jolokia-jvm-1.3.7-agent.jar=port=10006,host=0.0.0.0" -jar ${CORDA_HOME}/corda.jar 2>&1发布于 2019-06-18 08:49:07
你必须通过码头暴露港口。
如果您查看https://docs.docker.com/engine/reference/commandline/run/,特别是题为“发布或公开端口(-p --)”一节,它将解释如何向主机公开端口。
https://stackoverflow.com/questions/56636227
复制相似问题