远程调试docker构建的weblogic
环境信息
OSType:
CentOS Linux 7 (Core) x86_64 3.10.0-957.21.3.el7.x86_64
DockerVersion:
19.03.8
Mirrors:
http://ovfftd6p.mirror.aliyuncs.com/
http://registry.docker-cn.com/
http://docker.mirrors.ustc.edu.cn/
http://hub-mirror.c.163.com/
WeblogicVersion:
12.2.1.3 - developer
部署Weblogic
法1:使用官方镜像
镜像地址:dockerhub
构建之后要运行weblogic,需要使用官方提供的示例,参考上篇文章中间部分:利用Docker手动构建WebLogic镜像。
法2:利用Dockfile手动构建
Oracle的Dockerfile仓库地址:Github。
使用方法参考上篇文章即可。
获取Weblogic相关源文件
在远程调试之前,需要先拿到weblogic源码或源文件(JAR包)。从镜像中就可以取出来,方法如下:
确定weblogic容器运行

找到服务器主目录
使用命令docker exec -it weblogic /bin/bash进入到容器当中,一般情况下Oracle主目录存储在环境变量ORACLE_HOME当中,在这个目录下找到最大的那个文件夹一般就是我们要的东西。

我这里是在/u01/oracle/wlserver,退出容器,使用命令docker cp weblogic:/u01/oracle/wlserver ./将其从容器中复制出来。
除了需要weblogic的东西之外,后面为了防止出错,建议直接使用容器里的jdk,jdk主目录在环境变量JAVA_HOME中:

使用命令docker cp weblogic:/usr/java/jdk-8 ./wlserver/将其拷贝到wlserver目录中,待会直接打包。
然后为了之后IDEA调试不缺依赖,我们在wlserver下创建一个test目录,使用命令find ./wlserver -name *.jar -exec cp {} ./wlserver/test/ \;将所有的jar文件复制到一起。
然后使用zip命令将目录打包:zip -r wlserver.zip ./wlserver,然后sz wlserver.zip将其从虚拟机中搞出来。
IDEA调试配置
使用IDEA打开wlserver文件夹,结构如下:

然后在项目设置里,把test目录加载到库里:

最后,根据图的指示添加运行配置(Remote),IP和端口填正确,如下图:

都弄好之后,点击调试按钮,出现以下日志信息说明成功:

下断点方法
成功之后,test目录下的所有jar包都可以展开,找到自己要调试的类,比如com.weblogic.iiop.jar!\weblogic\iiop\ConnectionManager.class。

在左边行号旁边下断点即可,程序运行到这里会自动中断。
参考链接
远程调试docker构建的weblogic的更多相关文章
- pycharm远程调试docker容器内程序
文章链接: https://blog.csdn.net/hanchaobiao/article/details/84069299 参考链接: https://blog.csdn.net/github_ ...
- IDEA weblogic远程调试
weblogic远程调试 这里我们使用vulhub的镜像作为初始构建镜像搭建漏洞环境 1. 搭建docker环境 新建一个目录,创建两个文件 DockerFile FROM vulhub/weblog ...
- ref:phpstorm配置远程调试(xdebug)(docker中)
ref:https://www.cnblogs.com/yjken/p/6555438.html readme:本文设置远程调试ubuntu中的php代码. 在docker中也可以,经过测试phpin ...
- weblogic远程调试
修改 bin/startWebLogic.cmd 增加红字部分,其中9999是调试监听端口,然后可以连接这个端口进行远程调试 set JAVA_DEBUG=-Xdebug -Xnoagent -Xru ...
- eclipse 在weblogic部署的工程项目开启远程调试remote config eclipse远程调试配置
确认你的工程在weblogic中跑的起来,然后再结合eclipse debug配置+java debug运行模式搞个调试. 工程能跑起来没问题后,先在eclipse中,点击debug图标 然后点击De ...
- weblogic远程调试XMLDecoder RCE CVE-2017-10271
首先说一下远程调试的配置,首先在weblogic的启动文件加入如下配置,开启服务器远程调试端口就是9999: 第二步,建立一个java的空项目. 第三步将weblogic的所有jar包拷出来,放到一个 ...
- 使用eclipse远程调试weblogic
配置weblogic远程调试之前,需要做这几个工作: 1) 安装weblogic服务器,然后创建一个域: 2) 安装eclipse集成IDE: 3) eclipse中包含发布 ...
- docker在配置tomcat和spring boot远程调试
服务器部署项目后又时可能与本地开发效果不一致,怎么实现远程调试配置? docker中怎么进行配置? docker中tomcat实现远程调试配置 1. 配置docker-compose.yml CATA ...
- docker构建mysql容器及Navicat 远程连接
1. MySQL部署 1.1拉取MySQL镜像 docker pull mysql 查看镜像 docker images 1.2创建MySQL容器 首先建立所需要的 文件夹: docker run - ...
随机推荐
- 用shell脚本新建文件并自动生成头说明信息
目标: 新建文件后,直接给文件写入下图信息 代码实现: [root@localhost test]# vi AutoHead.sh #!/bin/bash #此程序的功能是新建shell文件并自动生成 ...
- 彪悍的Surface Book2发布:能重拾笔记本行业的信心吗?
Book2发布:能重拾笔记本行业的信心吗?" title="彪悍的Surface Book2发布:能重拾笔记本行业的信心吗?"> 在智能手机全面普及之后, ...
- 奇异值分解原理及Python实例
奇异值分解 SVD(Singular Value Decomposition)是一种重要的矩阵分解方法,可以看做是特征分解在任意矩阵上的推广,SVD是在机器学习领域广泛应用的算法. 特征值和特征向量 ...
- AI未来如何应对人类的欺骗?
人工智能正以可预见.不可预见的种种形式无孔不入地涉足社会的各个层面,这既让人兴奋,也让人不安.我们能够预测到这样的情绪反应,但我们真的能够预测到人工智能所涉及的相关风险吗? 假若现在是2022年,你乘 ...
- Leetcode 943. Find the Shortest Superstring(DP)
题目来源:https://leetcode.com/problems/find-the-shortest-superstring/description/ 标记难度:Hard 提交次数:3/4 代码效 ...
- 创建git密钥
前言 git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤: 一.本地生成密钥对: 二.设置github上的公钥: 三.修 ...
- 201771010105—达拉草 实验一 软件工程准备—<软件工程构建之法—初步了解和认识>
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- Java和C++引用的区别
Java的引用实际上是对指针的一个封装. C++的引用是变量的一个别名. Java的定义出来的变量(除了基本类型)其实就是一个引用,指向真正的对象. C++可以通过将引用传入函数,在函数内修改所引用的 ...
- [Python之路] object类中的特殊方法
一.object类的源码 python版本:3.8 class object: """ The most base type """ # d ...
- Linux永久开放端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT /sbin/iptables -I INPUT -p tcp --dport 3306 -j A ...