前言
在部署tomcat项目时,项目部署好一会出现问题,我们只能通过日志的方式查看错误信息,很难找到真正错误的地方。docker对这个问题做了解决,通过docker部署tomcat项目,随后添加命令开启远程debug调试,让我们远程调试已经在部署的项目,从而快速的找到问题所在。
开启docker远程debug端口
在run.sh文件中添加-Xdebug -Xrunjdwp:transport=dt_socket,address=远程端口,server=y,suspend=n
#!/bin/bash
ulimit -c unlimited
ulimit -n 32768
basePath=$(cd "$(dirname "$0")";pwd)
SERVICE_HOME=$basePath
cd $SERVICE_HOME
SERVICE_LIBS="$SERVICE_HOME/"
SERVICE_MAIN="Application"
declare -a JAVA_ARGS
JAVA_ARGS[0]="-Xmx512m"
JAVA_ARGS[1]="-Xms512m"
JAVA_ARGS[2]="-Xdebug -Xrunjdwp:transport=dt_socket,address=8880,server=y,suspend=n"
exec $JAVA_HOME/bin/java -Duser.dir=$SERVICE_HOME ${JAVA_ARGS[@]} -classpath $SERVICE_HOME:$SERVICE_LIBS/* $SERVICE_MAIN
创建一个新的容器并运行时打开端口
docker run \
...
-p 8880:8880 \
idea打开远程调试
填写ip和端口
name:名字自定义。
host:远程主机地址。
port:前面打开的远程调试端口。
开始调试
注:本地代码必须与远程一样,调试的时候通过debug更改属性达到调试的目的,对远程与本地没有任何影响。