首页 > 编程语言 >docker中调试java代码

docker中调试java代码

时间:2024-02-05 16:23:47浏览次数:46  
标签:java jar shiro550 SNAPSHOT 1.0 docker 调试

以shiro550为例子
在vulhub/shiro/CVE-2016-4437启动环境

docker-compose up -d


然后看一下当前容器启动的命令

java -jar /shirodemo-1.0-SNAPSHOT.jar


将容器内的jar包复制出来

docker cp 容器id:/shirodemo-1.0-SNAPSHOT.jar .

然后ij idea新建项目,并且解压jar包到项目目录

unzip shirodemo-1.0-SNAPSHOT.jar -d 项目目录


然后将BOOT-INF/lib目录进行Add as Libary

将BOOT-INF目录放在依赖中

配置远程调试

最后删掉之前启动的shiro550,通过如下命令启动shiro550

docker run -it -d --rm --name shiro550 -p 8000:8080 -p 127.0.0.1:5005:5005 vulhub/shiro:1.2.4 java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar /shirodemo-1.0-SNAPSHOT.jar

可以调试了

标签:java,jar,shiro550,SNAPSHOT,1.0,docker,调试
From: https://www.cnblogs.com/thebeastofwar/p/18008350

相关文章

  • JAVA之BigDecimal详解
    一、BigDecimal概述Java在java.math包中提供的API类BigDecimal,用来对超过16位有效位的数进行精确的运算。双精度浮点型变量double可以处理16位有效数,但在实际应用中,可能需要对更大或者更小的数进行运算和处理。一般情况下,对于那些不需要准确计算精度的数字,我们可以直接使用Float......
  • Java-08常用容器
    List接口:java.util.List<>。实现:java.util.ArrayList<>:变长数组java.util.LinkedList<>:双链表函数:add():在末尾添加一个元素clear():清空size():返回长度isEmpty():是否为空get(i):获取第i个元素set(i,val):将第i个元素设置为val栈类:java.util.Stack<>函......
  • Java-09异常处理
    tip:[start]异常处理可以允许我们在程序运行时进行诊断和补救。——闫学灿tip:[end]Error与Exception的区别Error是程序无法处理的错误,比如OutOfMemoryError、ThreadDeath等。这些异常发生时,Java虚拟机(JVM)一般会选择线程终止。此类异常是程序的致命异常,是无法捕获处理的。......
  • Docker:Failed to copy files, no space left on device
    主页个人微信公众号:密码应用技术实战个人博客园首页:https://www.cnblogs.com/informatics/问题描述在Mac上进行docker构建时,偶尔会遇到以下问题Failedtocopyfiles:userspacecopyfailed:write/var/lib/docker/volumes/xxx/_data/xxx.dbf:nospaceleftondevice......
  • 《视频篇》java实现下载hls(m3u8+ts)实时流并进行合并mp4
    链接:https://blog.csdn.net/qq_41604890/article/details/130143355首先需要了解什么是HLS简单理解就是,m3u8文件存放着可供客户端播放TS片段简单一点说m3u8加密技术就是将原视频分割成n个.ts文件,并用一个key文件对每一个.ts文件加密,其中m3u8文件里面存储了key文件和所有的.t......
  • Docker容器第三课:企业级应用部署-实战
    一、docker容器化部署企业级应用1.1使用容器化部署企业级应用必要性1.有利于快速实现企业级应用部署2.有利于实现企业级应用恢复1.2Docker参考资料官方网站 http://hub.docker.com/二、docker安装部署系统环境:CentOS72.1安装前准备工作查看内核版本是否大于3.10[jack@TEST~]#u......
  • docker安装
    前言  Docker是一个开源的应用容器引擎,是用Go语言实现的,Docker可以让开发者打包他们的应用和依赖包到轻量级、可移植的容器中,然后可以发布到任何Linux机器中。容器的优点很多,比如打包应用和依赖方便部署;做环境隔离,在做深度学习时就可以在容器中进行,安装各种包,不会污染到宿主机;......
  • Ubuntu下docker以及docker-compose安装
    Ubuntu下docker以及docker-compose安装Docker//使用官方脚本自动安装curl-fsSLhttps://test.docker.com-oget-docker.shsudoshget-docker.sh如果要使用Docker作为非root用户,则应考虑使用类似以下方式将用户添加到docker组:$sudousermod-aGdockeryour-user......
  • 深入浅出Java多线程(十):CAS
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第十篇内容:CAS。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在多线程编程中,对共享资源的安全访问和同步控制是至关重要的。传统的锁机制,如synchronized关键字和ReentrantLock等,能够有效防止多个线程同时......
  • 深入浅出Java多线程(八):volatile
    引言大家好,我是你们的老伙计秀才!今天带来的是[深入浅出Java多线程]系列的第八篇内容:volatile。大家觉得有用请点赞,喜欢请关注!秀才在此谢过大家了!!!在当今的软件开发领域,多线程编程已经成为提高系统性能和响应速度的重要手段。Java作为广泛应用的多线程支持语言,其内存模型(JMM)设计......