環境信息
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。

在左邊行號旁邊下斷點即可,程序運行到這里會自動中斷。
