Docker Weblogic:重新启动后丢失更改
WebLogic服务器有一个奇怪的问题:我在创建多个资源(JMS队列、DB池等)时丢失了创建的最后一项 环境:Docker Weblogic:重新启动后丢失更改,docker,docker-compose,weblogic,weblogic11g,Docker,Docker Compose,Weblogic,Weblogic11g,WebLogic服务器有一个奇怪的问题:我在创建多个资源(JMS队列、DB池等)时丢失了创建的最后一项 环境: WebLogic服务器版本:12.2.1.4.0 系统:Oracle Linux Server 7.8(在Docker中) Java:Java版本“1.8.0ç”,Java(TM)SE运行时环境 (build 1.8.0_231-b11)、Java热点(TM)64位服务器虚拟机(build 25.231-b11,混合模式) Weblogic配置:仅管理服务器,不管理服务器 我执行的
- WebLogic服务器版本:12.2.1.4.0
- 系统:Oracle Linux Server 7.8(在Docker中)
- Java:Java版本“1.8.0ç”,Java(TM)SE运行时环境 (build 1.8.0_231-b11)、Java热点(TM)64位服务器虚拟机(build 25.231-b11,混合模式)
- Weblogic配置:仅管理服务器,不管理服务器
/startweblog.sh
命令启动WebLogic管理服务器/stopWebLogic.sh weblogic weblogic12 t3://localhost:7001
命令停止服务器- 如果我在停止服务器之前(在上面的步骤3之后)从控制台创建一个虚拟资源(不管是什么,一个池、一个持久性存储、一个JMS等等),那么我只会丢失最后一个虚拟项,其余我用WLST创建的虚拟项将保留
- 如果我从控制台创建2个资源(不管是什么),那么我总是会丢失最后一项
- 如果我在重启2后从控制台创建了3个东西,3rt将丢失
- 重新启动后,通过WL web控制台删除2个条目,我可以看到只有一个条目被删除。第二个刚回来
config.xml
文件时,我可以在那里看到我需要的东西。重新启动后,WL以某种方式将此文件恢复为预览状态(不包含我的最后一项),文件大小刚刚更改
如果我激活生产模式
,那么一切都是一样的,我看不到差异
我认为这个问题与Docker无关,因为我不使用任何Docker卷。我在config.xml
旁边创建的测试文件在停止和启动容器之间是持久的
---------------
¦ Oracle Linux¦
---------------
¦
------------------
¦WL with deployed¦ <- docker commit ....
¦ shared libs ¦ this issue does not appear at this level
------------------
¦
------------------
¦Image what I use¦ <- lose changes between docker stop and start
------------------
这是WL窃听器吗?你看过同样的吗
更新
我上面使用的docker映像是使用docker commit
命令从另一个docker容器创建的。上一个Docker层包含一些公共资源和已安装的库。此问题在上一张图像中不存在。因此,似乎有一些奇怪的事情发生在Docker从容器中创建的图像上
---------------
¦ Oracle Linux¦
---------------
¦
------------------
¦WL with deployed¦ <- docker commit ....
¦ shared libs ¦ this issue does not appear at this level
------------------
¦
------------------
¦Image what I use¦ <- lose changes between docker stop and start
------------------
---------------
甲骨文Linux
---------------
¦
------------------
使用部署的△WL以下解决方法解决了此问题:在启动服务器之前,从Weblogic域主目录中删除domain_bak
目录
例如:
echo "starting the WebLogic server..."
rm -Rf $ORACLE_HOME/user_projects/domains/$DOMAIN_NAME/servers/domain_bak/*
$ORACLE_HOME/user_projects/domains/$DOMAIN_NAME/startWebLogic.sh