远程调试docker 容器中的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


版权声明
本文原创发表于 博客园,作者为 阿K .     本文欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则视为侵权。
欢迎关注本人微信公众号:觉醒的码农,或者扫码进群:

原文地址:https://www.cnblogs.com/FlyAway2013/p/15547435.html