这是我已成功用于通过JMX监视ZooKeeper容器的标志:
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=9010
-Dcom.sun.management.jmxremote.rmi.port=9010
-Djava.rmi.server.hostname=0.0.0.0
-Dcom.sun.management.jmxremote.ssl=false
因此,区别在于该条目-Dcom.sun.management.jmxremote.rmi.port
将RMI端口固定为与JMX端口相同。
有了这个我就可以了docker run -p 9010:9010 ...
,一切对我都很好。