远程调试docker 容器中的java

java

其实很简单,只要 docker 启动的时候:

-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=60006 

具体怎么做呢?

1 可以在创建镜像的时候,设定JAVA_OPTS:

#指定jvm运行参数
ENV JAVA_OPTS=""
#指定配置项
ENV BOOT_CONFIG=""

ENTRYPOINT java ${JAVA_OPTS} -javaagent:/SecPoint/SecPoint.jar -DappKey=default -jar /umc-testaa.jar ${BOOT_CONFIG}

2 然后,启动容器的时候,直接修改JAVA_OPTS即可:

java -Xmx4g -Xms4g -Xmn2g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/dump.log -jar -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=60006 umc-portal.jar  --spring.profiles.active=222new,default --spring.application.name=umc-portal  --spring.cloud.nacos.config.server-addr=192.169.7.148:8848  --spring.cloud.nacos.config.ext-config[0].data-id=umc-portal-node1.properties

3 本地idea, 创建远程jvm 程序,并设定agentlib:

指定 -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=60006

以上是 远程调试docker 容器中的java 的全部内容, 来源链接: utcz.com/z/392888.html

回到顶部