远程调试部署在容器中的springboot项目「建议收藏」

远程调试部署在容器中的springboot项目「建议收藏」问题:访问网站,会根据ip判断访客所处位置,但部分ip插入数据库失败。 以为是一次小问题,很快就解决了,没想到最终花了6个小时左右,才搞清楚。分析 :1、将本地程序跑起来,发现一切正常,可以插入到数据库。但问题在线上确实妥妥的出现的,而我现在日志级别是info,没有错误日志。所有准备Debug线上程序,之前只debug过使用基本的tomcat发布。而我现在的jar是使用docker构建的镜像,运行的镜像。 2、问题从线上转化到了,我需要远程debug线上程序发现问题,并将之解决。查各种资料,配置

大家好,又见面了,我是你们的朋友全栈君。

问题:

访问网站,会根据ip判断访客所处位置,但部分ip插入数据库失败。 以为是一次小问题,很快就解决了,没想到最终花了6个小时左右,才搞清楚。

分析 :

1、将本地程序跑起来,发现一切正常,可以插入到数据库。但问题在线上确实妥妥的出现的,而我现在日志级别是info,没有错误日志。所有准备Debug线上程序,之前只debug过使用基本的tomcat发布。而我现在的jar是使用docker构建的镜像,运行的镜像。 2、问题从线上转化到了,我需要远程debug线上程序发现问题,并将之解决。查各种资料,配置端口进行调试。从起开启各种踩坑之路。 首先百度到的基本上就这几种:

远程调试部署在容器中的springboot项目「建议收藏」


远程调试部署在容器中的springboot项目「建议收藏」


远程调试部署在容器中的springboot项目「建议收藏」


远程调试部署在容器中的springboot项目「建议收藏」


远程调试部署在容器中的springboot项目「建议收藏」

远程调试部署在容器中的springboot项目「建议收藏」



以上基本上就涵盖了大部分博客内容,我都试过,但都没用。但不能说博文错着,人家博客可能就适合自己当时的问题。且解决了。

我呢,只能继续寻找问题的答案: 继续分析:明明启动了程序了,也修改了DockerFile文件了,问题出在哪里了。 

远程调试部署在容器中的springboot项目「建议收藏」

既然启动了,那就看端口是否监听,继续百度。通过查看启动日志方式,查看该端口是不是被监听着,但日志可以发现是有的,也没问题。

远程调试部署在容器中的springboot项目「建议收藏」

通过 netstat -tnlp | grep 端口号 查看端口是否启动 发现没有启动,找到问题了,该端口号没有启动,继续思考。为什么日志中已经显示监听状态,但通过netstat却找不到该端口呢。 于是继续百度,终于看到了几句话,大致想明白了,立马验证,果不其然,就是他导致的。先贴上截图: 

远程调试部署在容器中的springboot项目「建议收藏」

瞬间明白了,我只是在docker容器中开放了该端口,但是我并没有在启动时映射出来,于是修改我的启动脚本,加上映射出来的端口,然后远程debug,直接就连通了。然后远程都好了,ip插入不到数据库问题,还有什么难,几分钟就解决了 

远程调试部署在容器中的springboot项目「建议收藏」

总结:

1、在此次解决bug时,学会远程debug docker容器中的技巧,以后线上有问题能很快的定位,且可以启动多线程模式,也不影响其他人。 2、对docker容器理解更加深刻了。

 

原文链接:http://ganshuo8.com/article/baf44d183bd2cc60fbbf1dc2690c9d40

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/147122.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js常用的4种截取字符串方法_js常用的4种截取字符串方法

    js常用的4种截取字符串方法_js常用的4种截取字符串方法字符串内是否包含某个字符串——indexOfvaroldString=“tongyuwan”;varnewString=oldString.indexOf(‘tong’);if(newStrong)

    2022年10月7日
    5
  • method什么意思_method的值有哪些

    method什么意思_method的值有哪些这个报错只有IDEA会有问题,在eclipse并不会出现这个问题。有哪位前辈可以帮我指点迷津吗?publicclassServletDemo02extendsHttpServlet{privatestaticfinallongserialVersionUID=1L;publicvoiddoPost(HttpServletRequestrequest,HttpServl…

    2022年9月23日
    5
  • 电商后台管理系统技术总结(黑马)[通俗易懂]

    电商后台管理系统技术总结(黑马)[通俗易懂]一. 项目介绍此项目主要是一个电商的后台管理系统,主要是由六个大的模块组成分别为开发过程中使用Vuecil4脚手架进行开发,然后主要通过elementUI美化项目结构,使用码云作为Git管理仓库,对应的API文档,采用express搭建的API服务,返回的数据是JSON格式的数据二.项目依赖Vue+VueRouter+Element-UI和Axios以及Echarts:三.各页面总结1.登录和退出(axios引入、拦截器、导航守卫)登录:获取用户表单信息,主要使

    2022年5月26日
    60
  • linux下线刷硬盘

    linux下线刷硬盘

    2022年3月5日
    49
  • 抗渗等级p6是什么意思_混凝土p6是什么意思「建议收藏」

    抗渗等级p6是什么意思_混凝土p6是什么意思「建议收藏」展开全部40是混凝土的强度等62616964757a686964616fe58685e5aeb931333431356664级,P6是抗渗混凝土按抗渗压力。抗渗混凝土按抗渗压力不同分为P6、P8、P10、P12和大于P12共5个等级。抗渗混凝土通过提高混凝土的密实度,改善孔隙结构,从而减少渗透通道,提高抗渗性。混凝土按标准抗压强度(以边长为150mm的立方体为标准试件,在标准养护条件下养护28天,…

    2022年8月10日
    9
  • 微信小程序 上传图片失败

    微信小程序 上传图片失败背景:线下实测wx.uploadFile接口没问题,上传图片成功,上线后上传失败解决办法:1、查看项目可信域名的配置2、wx.uploadFile与wx.downloadFile接口要添加域名备案

    2022年6月17日
    238

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号