docker jboss7 war commit。服务器引导以不可恢复的方式失败 [英] docker jboss7 war commit. Server boot failed in an unrecoverable manner

查看:789
本文介绍了docker jboss7 war commit。服务器引导以不可恢复的方式失败的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述



因为我的jboss服务器似乎在Docker提交后似乎失败了。

有没有办法将.war文件部署到在Docker容器内运行的Jboss-as7中。 p>

 无法将/ usr / local / share / jboss / standalone / configuration / standalone_xml_history / current重命名为/ usr / local / share / jboss / standalone / configuration / standalone_xml_history / 20140107-050049692 

我试过

  chmod + w usr / local / share / jboss / standalone / configuration / standalone_xml_history 

参考:



https://docs.jboss.org/author/display/AS7/Configuration+file+history



现在,如果我停止docker容器,我必须部署war文件,然后不要做一个docker提交。



我正在使用ubuntu 12.04运行在vagrant



我使用主管运行ssh和jboss7。



我的主管档案:

  [supervisord] 
nodaemon = true

[程序:sshd]
命令= / usr / sbin / sshd -D
stdout_logfile = / var / log / supervisor /%(program_name)s.log
stderr_logfile = / var / log / supervisor /%(program_name)s.log
autorestart = true

[程序:jboss]

command = /usr/local/share/jboss/bin/./standalone.sh -Djboss.bind.address = 0.0.0.0 -Djboss.bind.address.management = 0.0.0.0
stdout_logfile = / var / log / supervisor /%(program_name)s.log
stderr_logfile = / var / log / supervisor /%(program_name)s.log
autorestart = true

接下来我的步骤:

  vagrant up 
[default ]转发端口...
[default] - 10022 => 10022(适配器1)
[默认] - 8080 => 18080(适配器1)

Jboss-as7日志:

  05:00:49,135 INFO [org.jboss.as.remoting](MSC服务线1-4)JBAS017100:听/0.0.0.0:4447 
05:00:49,155 INFO [org.jboss.as.remoting](MSC服务线1-3)JBAS017100:听/0.0.0.0:9999
05:00:49,253 INFO [org.jboss.as。 server.deployment.scanner](MSC服务线程1-4)JBAS015012:为目录/ usr / local / share / jboss / standalone / deployments启动FileSystemDeploymentService
05:00:49,646 INFO [org.jboss.as.connector .subsystems.datasources](MSC服务线程1-2)JBAS010400:绑定数据源[java:jboss / datasources / ExampleDS]
05:00:49,695 ERROR [org.jboss.as.server](控制器引导线程)JBAS015956:引导期间捕获异常:java.lang.IllegalStateException:JBAS014647:无法将/ usr / local / share / jboss / standalone / configuration / standalone_xml_history / current重命名为/ usr / local / share / jboss / standalone / configuration / standa lone_xml_history / 20140107-050049692
在org.jboss.as.controller.persistence.ConfigurationFile.createHistoryDirectory(ConfigurationFile.java:414)[jboss-as-controller-7.1.1.Final.jar:7.1.1.Final ]
在org.jboss.as.controller.persistence.ConfigurationFile.successfulBoot(ConfigurationFile.java:273)[jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
在org.jboss.as.controller.persistence.BackupXmlConfigurationPersister.successfulBoot(BackupXmlConfigurationPersister.java:65)[jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
在org。 jboss.as.controller.AbstractControllerService.finishBoot(AbstractControllerService.java:195)[jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
在org.jboss.as.server。 ServerService.boot(ServerService.java:268)[jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
在org.jboss.as.controller.AbstractControllerService $ 1.run(AbstractControllerService .java:155)[jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
在jav a.lang.Thread.run(Thread.java:679)[rt.jar:1.6.0_24]

05:00:49,719 FATAL [org.jboss.as.server](控制器引导线程)JBAS015957:服务器引导以不可恢复的方式失败;退出。有关详细信息,请参阅以前的消息。
05:00:49,725 INFO [org.jboss.as.server.deployment](MSC服务线程1-2)JBAS015876:开始部署ROOT.war
05:00:49,765 INFO [ org.jboss.as.osgi](MSC服务线程1-3)JBAS011942:停止OSGi框架
05:00:49,777错误[org.jboss.msc.service.fail](MSC服务线程1-2) MSC00001:无法启动服务jboss.deployment.unitROOT.war:服务jboss.deployment.unit中的org.jboss.msc.service.StartExceptionROOT.war:无法启动服务
org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1767)[jboss-msc- 1.0.2.GA.jar:1.0.2.GA]
在java.util.concurrent。 ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)[rt.jar:1.6.0_24]
在java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:603)[rt.jar:1.6.0_24 ]
在java.lang.Thread.run(Thread.java:679)[rt.jar:1.6.0_24]
导致:java.lang.IllegalStateException:容器已关闭
在org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:508)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service .ServiceTargetImpl.install(ServiceTargetImpl.java:201)[jboss-msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service.ServiceControllerImpl $ ChildServiceTarget.install(ServiceControllerImpl .java:2228)[jboss-msc- 1.0.2.GA.jar:1.0.2.GA]
在org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:307)[jboss- msc-1.0.2.GA.jar:1.0.2.GA]
在org.jboss.as.server.deployment.AbstractDeploymentUnitService.start(AbstractDeploymentUnitService.java:77)[jboss-as- server-7.1。 1.Final.jar:7.1.1.Final]
在org.jboss.msc.service.ServiceControllerImpl $ StartTask.startService(ServiceControllerImpl.java:1811)[jboss-msc- 1.0.2.GA.jar: 1.0.2.GA]
在org.jboss.msc.service.ServiceControllerImpl $ StartTask.run(ServiceControllerImpl.java:1746)[jboss-msc- 1.0.2.GA.jar:1.0.2.GA]

任何建议都表示赞赏。感谢






更新



我上传了一个Dockerfile和一个ROOT .war文件到github进入空文件夹



https://github.com/poseidonjm/docker-files/



Dockerfile

  FROM mhamel / jboss7 

运行apt-get update

运行apt-get install -y主管openssh-server

RUN mkdir -p / var / run / sshd
运行mkdir -p / var / log / supervisor

添加supervisord.conf /etc/supervisor/conf.d/supervisord.conf

RUN echo'root:rhemubuntu'| chpasswd

运行sed -i / enable-welcome-root =true/ enable-welcome-root =false/'/ usr / local / share / jboss / standalone / standalone.xml

CMD [/ usr / bin / supervisord]

步骤:



构建Docker图像

  docker build -t poseidonjm /空。 

运行容器

  docker run -d -p 8080:8080 -p 10022:22 poseidonjm / empty 

部署.war文件

  ifconfig 
scp -P 10022 ROOT.war root@172.17.42.1:/ usr /local/share/jboss/standalone/deployments/ROOT.war
用户:root
密码:rhemubuntu

首次测试

  http://127.0.0.1:18080/ 
您好空项目

OK

停止容器

  alias dl ='docker ps -l -q'
docker stop`dl`

提交更改

  docker commit -run ='{Cmd :[/ usr / bin / supervisord]}''dl`poseidonjm / empty 

再次运行

  docker run -d -p 8080:8080 -p 10022:22 poseidonjm / empty 

第二次测试

  http:// 127.0。 0.1:18080 / 
失败

检查jboss日志

  ssh root@172.17.42.1 -p 10022 
vim /usr/local/share/jboss/standalone/log/server.log


解决方案

不是一个真正的解决方案,而是解决方法:


  1. ssh in

  2. supervisorctl stop jboss

  3. mv / usr / local / share / jboss / standalone / configuration / standalone_xml_history / current / usr / local / share / jboss / standalone / configuration / standalone_xml_history / 20140116-034913551 (或某些其他时间戳)

  4. 退出ssh

  5. docker commit -run ='{Cmd :[/ usr / bin / supervisord]}''dl` secondversion

如果您启动它,则运行正常。


Is there some way to deploy .war files into Jboss-as7 running inside a docker container

Because my jboss server seems to fail after a docker commit.

Could not rename    /usr/local/share/jboss/standalone/configuration/standalone_xml_history/current to  /usr/local/share/jboss/standalone/configuration/standalone_xml_history/20140107-050049692

I tried

chmod +w usr/local/share/jboss/standalone/configuration/standalone_xml_history

reference:

https://docs.jboss.org/author/display/AS7/Configuration+file+history

For now if I stop the docker container I have to deploy the war file and don´t do a docker commit after that.

I am using ubuntu 12.04 running on vagrant

I use a supervisor to run ssh and jboss7.

My supervisor file:

[supervisord]
nodaemon=true

[program:sshd]
command=/usr/sbin/sshd -D
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autorestart=true

[program:jboss]

command=/usr/local/share/jboss/bin/./standalone.sh -Djboss.bind.address=0.0.0.0 -Djboss.bind.address.management=0.0.0.0
stdout_logfile=/var/log/supervisor/%(program_name)s.log
stderr_logfile=/var/log/supervisor/%(program_name)s.log
autorestart=true

Next my steps:

vagrant up
[default] Forwarding ports...
[default] -- 10022 => 10022 (adapter 1)
[default] -- 8080 => 18080 (adapter 1)

Jboss-as7 log:

05:00:49,135 INFO  [org.jboss.as.remoting] (MSC service thread 1-4) JBAS017100: Listening on /0.0.0.0:4447
05:00:49,155 INFO  [org.jboss.as.remoting] (MSC service thread 1-3) JBAS017100: Listening on /0.0.0.0:9999
05:00:49,253 INFO  [org.jboss.as.server.deployment.scanner] (MSC service thread 1-4) JBAS015012: Started     FileSystemDeploymentService for directory /usr/local/share/jboss/standalone/deployments
05:00:49,646 INFO  [org.jboss.as.connector.subsystems.datasources] (MSC service thread 1-2) JBAS010400: Bound data source [java:jboss/datasources/ExampleDS]
05:00:49,695 ERROR [org.jboss.as.server] (Controller Boot Thread) JBAS015956: Caught exception during boot:     java.lang.IllegalStateException: JBAS014647: Could not rename     /usr/local/share/jboss/standalone/configuration/standalone_xml_history/current to     /usr/local/share/jboss/standalone/configuration/standalone_xml_history/20140107-050049692
 at org.jboss.as.controller.persistence.ConfigurationFile.createHistoryDirectory(ConfigurationFile.java:414) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
     at org.jboss.as.controller.persistence.ConfigurationFile.successfulBoot(ConfigurationFile.java:273) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
     at org.jboss.as.controller.persistence.BackupXmlConfigurationPersister.successfulBoot(BackupXmlConfigurationPersister.java:65) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
     at org.jboss.as.controller.AbstractControllerService.finishBoot(AbstractControllerService.java:195) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
     at org.jboss.as.server.ServerService.boot(ServerService.java:268) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
     at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:155) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
     at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]

05:00:49,719 FATAL [org.jboss.as.server] (Controller Boot Thread) JBAS015957: Server boot has failed in an unrecoverable manner; exiting. See previous messages for details.
05:00:49,725 INFO  [org.jboss.as.server.deployment] (MSC service thread 1-2) JBAS015876: Starting deployment of "ROOT.war"
05:00:49,765 INFO  [org.jboss.as.osgi] (MSC service thread 1-3) JBAS011942: Stopping OSGi Framework
05:00:49,777 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-2) MSC00001: Failed to start service     jboss.deployment.unit."ROOT.war": org.jboss.msc.service.StartException in service jboss.deployment.unit."ROOT.war": Failed to start     service
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1767) [jboss-msc-    1.0.2.GA.jar:1.0.2.GA]
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) [rt.jar:1.6.0_24]
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) [rt.jar:1.6.0_24]
     at java.lang.Thread.run(Thread.java:679) [rt.jar:1.6.0_24]
Caused by: java.lang.IllegalStateException: Container is down
     at org.jboss.msc.service.ServiceContainerImpl.install(ServiceContainerImpl.java:508) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
     at org.jboss.msc.service.ServiceTargetImpl.install(ServiceTargetImpl.java:201) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
     at org.jboss.msc.service.ServiceControllerImpl$ChildServiceTarget.install(ServiceControllerImpl.java:2228) [jboss-msc-    1.0.2.GA.jar:1.0.2.GA]
     at org.jboss.msc.service.ServiceBuilderImpl.install(ServiceBuilderImpl.java:307) [jboss-msc-1.0.2.GA.jar:1.0.2.GA]
     at org.jboss.as.server.deployment.AbstractDeploymentUnitService.start(AbstractDeploymentUnitService.java:77) [jboss-as-    server-7.1.1.Final.jar:7.1.1.Final]
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1811) [jboss-msc-    1.0.2.GA.jar:1.0.2.GA]
     at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1746) [jboss-msc-        1.0.2.GA.jar:1.0.2.GA]

Any suggestion is appreciated. Thanks


UPDATED

I uploaded a Dockerfile and a ROOT.war file to github into the empty folder

https://github.com/poseidonjm/docker-files/

Dockerfile

FROM mhamel/jboss7

RUN apt-get update

RUN apt-get install -y supervisor openssh-server

RUN mkdir -p /var/run/sshd
RUN mkdir -p /var/log/supervisor

ADD supervisord.conf /etc/supervisor/conf.d/supervisord.conf

RUN echo 'root:rhemubuntu' | chpasswd

RUN sed -i 's/enable-welcome-root="true"/enable-welcome-root="false"/' /usr/local/share/jboss/standalone/configuration/standalone.xml

CMD ["/usr/bin/supervisord"]

steps:

Build the docker image

docker build -t poseidonjm/empty .

Run the container

docker run -d -p 8080:8080 -p 10022:22 poseidonjm/empty

Deploy .war file

ifconfig
scp -P 10022 ROOT.war root@172.17.42.1:/usr/local/share/jboss/standalone/deployments/ROOT.war
user:root
password:rhemubuntu

First test

http://127.0.0.1:18080/
Hello empty project

OK

Stop the container

alias dl='docker ps -l -q'
docker stop `dl`

Commit changes

docker commit -run='{"Cmd": ["/usr/bin/supervisord"]}' `dl` poseidonjm/empty

Run again

docker run -d -p 8080:8080 -p 10022:22 poseidonjm/empty

Second test

http://127.0.0.1:18080/
Fail

Check jboss logs

ssh root@172.17.42.1 -p 10022
vim /usr/local/share/jboss/standalone/log/server.log

解决方案

Not a real solution, but a workaround:

  1. ssh in
  2. supervisorctl stop jboss
  3. mv /usr/local/share/jboss/standalone/configuration/standalone_xml_history/current /usr/local/share/jboss/standalone/configuration/standalone_xml_history/20140116-034913551 (or some other timestamp)
  4. exit the ssh
  5. docker commit -run='{"Cmd": ["/usr/bin/supervisord"]}' `dl` secondversion

That image (secondversion) then runs fine if you start it up.

这篇关于docker jboss7 war commit。服务器引导以不可恢复的方式失败的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆