关键词:IDEA 、debug、 docker、 weblogic
1、安装docker和docker-compose
2、创建一个网络,供后面使用
docker network create --subnet 172.18.0.1/16 testNetWork
3、新建一个工程文件夹,在该文件夹下创建docker-compose.yml文件,并填入下面内容:
version: '2'
services:
weblogic10.3:
image: vulhub/weblogic
container_name: weblogic10.3
networks:
- testNetWork
ports:
- 7001:7001
- 8453:8453
- 9999:9999
volumes:
- /Users/rym/all/temp/dockerShare:/dockerShare
tty: true
networks:
testNetWork:
external: true
其中,volumes值中,:左边为本地目录,右面为docker里面的目录,用于方便共享文件。
4、在第3步创建的文件夹下启动docker:docker-compose up -d
5、使用docker-compose ps查看运行的docker
6、从上图中可以看到,weblogic启动项为startweblogic.sh,于是进入docker里面修改该配置
7、使用命令docker exec -it weblogic10.3 /bin/bash进入dock里面
8、进入配置项目录
cd user_projects/domains/base_domain/bin/
9、修改配置: vi startWebLogic.sh。在docker机里改文件并不友好,可以将该文件传到我们前面所配置的共享目录中,然后在本地进行修改。
如上图所示,在上面红框所示位置填入相应数据:
JAVA_DEBUG="-Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=9999,server=y,suspend=n"
export JAVA_DEBUG
10、保存后,重启docker:docker-compose restart weblogic10.3
11、上面步骤没有错的话,可以访问http://localhost:7001/console/login/LoginForm.jsp
12、将docker里面的weblogic应用拷到本地。也可以在docker里面,将该应用传到我们前面所配置的共享目录中。
docker cp weblogic10.3:/root ./weblogic
13、进入Oracle/Middleware目录,创建一个lib文件夹,将该目录下的所有jar文件拷贝到lib文件夹里
命令行:find ./ -name *.jar -exec cp {} ./lib/ \;
或者使用脚本:https://blog.csdn.net/qq_34101364/article/details/106061182
然后将lib文件夹移动到wlserver_10.3文件夹下面
14、进入Oracle/Middleware目录,使用IDEA打开wlserver_10.3文件夹。
15、右键选中lib,选择add as library。
16、jdk选择从docker拷贝出来的jdk
17、选择远程监听端口9999(前面配置文件中修改的)。
18、启动debug进行调试