Springboot War包部署到Docker Tomcat下的远程调试

公司现在用阿里云服务器部署有关于Springboot的javaweb项目,于是做个记录,有关于如何进行远程调试。

idea配置不再多说,配置到内网或者外网IP进行IP和端口号设定,根据JDK版本有相关设置提示。

下来主要讲述一下有关于docker的tomcat,如何去进行和本地idea进行链接。

首先要确定的是配置docker tomcat的容器的时候不仅仅需要进行web访问内外端口的暴露(例如8080:8080),还需要进行JVM虚拟机访问的端口暴露,下来我们以实际操作举例。

首先docker ps查看一下tomcat具体运行方式

我们可以看出来是由Catalina.sh进行运行的,所以说我们需要进行对Catalina.sh进行更改

具体思路讲完,下来进行实践代码步骤。

1.创建容器规则
首先创建容器,根据自己linux内部的tomcat版本进行创建,其中不仅仅要暴露外部8080端口,还需要暴露JVM调试端口5005(5005可以随便写,具体看心情)

docker run --name tomcat  -d -p 8091:8080 -p 5005:5005 tomcat:9.0.30-jdk8-adoptopenjdk-hotspot

用多个-p暴露端口,此时端口暴露成功。

2.修改tomcat内部Catalina.sh文件
无需进入容器内部,直接使用docker cp 命令

docker cp 容器ID:/usr/local/tomcat/bin/catalina.sh /root/tomcat/

后面的/root/tomcat/目录任意指定,此时用Xftp打开记事本编辑此Catalina.sh文件,ctrl+f搜索OS specific support关键字,在这行关键字的上一行,去添加如下内容

CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=5005,suspend=n,server=y"

在这里插入图片描述
具体位置写好了,随后自行导入war包和更改过的Catalina文件后restart容器进行调试即可

如果报错记得用docker logs 容器ID查看报错原因,很多情况是位置加错了,报语法错误

idea连接出现以下代表成功
在这里插入图片描述
记得war包的代码和本地的一定要一样,不然会报空,还有就是只是本地代码进行调试,和sql无关,数据读取正常是根据linux服务器上的sql读取

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值