Docker Weblogic:重新启动后丢失更改

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服务器有一个奇怪的问题:我在创建多个资源(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配置:仅管理服务器,不管理服务器
我执行的步骤:

  • 登录到Docker容器
  • 使用
    /startweblog.sh
    命令启动WebLogic管理服务器
  • 我通过WLST脚本创建多个WebLogic资源。脚本完成后,我可以在web控制台上看到所有内容
  • 使用
    /stopWebLogic.sh weblogic weblogic12 t3://localhost:7001
    命令停止服务器
  • 再次启动管理服务器
  • 我以前所做的所有改变都完全丢失了
  • 我看到的是:

    • 如果我在停止服务器之前(在上面的步骤3之后)从控制台创建一个虚拟资源(不管是什么,一个池、一个持久性存储、一个JMS等等),那么我只会丢失最后一个虚拟项,其余我用WLST创建的虚拟项将保留
    • 如果我从控制台创建2个资源(不管是什么),那么我总是会丢失最后一项
    • 如果我在重启2后从控制台创建了3个东西,3rt将丢失
    • 重新启动后,通过WL web控制台删除2个条目,我可以看到只有一个条目被删除。第二个刚回来
    WebLogic似乎不知何故忘记了“提交”最后一项。 当我在WL重新启动之前检查
    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