環境信息
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
。
在左邊行號旁邊下斷點即可,程序運行到這里會自動中斷。