$ # 在另一个终端进入容器,执行as.sh $ docker exec -it example-attach sh /app/src/main/java $ /opt/arthas/as.sh Arthas script version: 3.6.7 tools.jar was not found, so arthas could not be launched!
# 先启动Attach Listener $ pid=1 ;\ touch /proc/${pid}/cwd/.attach_pid${pid} && \ kill -SIGQUIT ${pid} && \ sleep 2 && ls /proc/${pid}/root/tmp/.java_pid${pid} $ cd /opt/arthas/ $ java -jar arthas-core.jar -pid 1 -core arthas-core.jar -agent arthas-agent.jar Error: A JNI error has occurred, please check your installation and try again Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/tools/attach/AgentLoadException at java.lang.Class.getDeclaredMethods0(Native Method) at java.lang.Class.privateGetDeclaredMethods(Class.java:2701) at java.lang.Class.privateGetMethodRecursive(Class.java:3048) at java.lang.Class.getMethod0(Class.java:3018) at java.lang.Class.getMethod(Class.java:1784) at sun.launcher.LauncherHelper.validateMainClass(LauncherHelper.java:544) at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:526) Caused by: java.lang.ClassNotFoundException: com.sun.tools.attach.AgentLoadException at java.net.URLClassLoader.findClass(URLClassLoader.java:382) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ... 7 more
# netstat确认下监听端口 $ netstat -alnp Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:3658 0.0.0.0:* LISTEN 1/java ...