我尝试启用jmx检查缓存统计信息,我尝试在本地设置中使用以下命令
执行此操作docker run -it --rm --name keycloak
--cap-add SYS_ADMIN
-p 8080:8080
-p 8787:8787
-p 8999:8999
-e KEYCLOAK_ADMIN="keycloak"
-e KEYCLOAK_ADMIN_PASSWORD="keycloak"
-e DEBUG="true"
-e DEBUG_PORT="*:8787"
-e JAVA_OPTS_APPEND="-Xmx1g
-Dcom.sun.management.jmxremote.port=8999 -Dcom.sun.management.jmxremote.rmi.port=8999
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false -Djava.rmi.server.hostname="$(hostname)"
-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/tmp/keycloak.hprof"
quay.io/keycloak/keycloak:17.0.0 start-dev
--log-level=INFO
Jmx已启用,但无法从jconsole连接
您应该查看一下日志文件。是否有错误消息,或者您是否可以看到ARGS是否到达启动过程?
我在keycloak-16上添加JMX选项时遇到了一些麻烦,之后服务器无法启动。然后我发现了这篇文章。这对我很有效。如果在远程主机上运行docker映像,则可以将jboss-cli-client.jar复制到本地机器。每次启动容器后,你必须再次添加用户。