14

不止一个例子,我从一个在 openshift 源中运行的 pod 中看到了这种状态。在本例中,它是 cdi camel 示例的快速入门。我能够在本地成功构建和运行它(非 openshift),但是当我尝试在本地 openshift 上部署(使用mvn -Pf8-local-deploy)时,我得到了该特定示例的输出(为了相关性而剪掉):-

[vagrant@vagrant camel]$ oc get pods NAME READY STATUS RESTARTS AGE cdi-camel-z4czs 0/1 CrashLoopBackOff 4 2m

日志的尾部如下:-

  Error occurred during initialization of VM
  Error opening zip file or JAR manifest missing : agents/jolokia.jar
  agent library failed to init: instrument

有人可以帮我解决这个问题吗?

4

2 回答 2

9

如果 pod 的状态变为 CrashLoopBackOff,通常表明容器内的应用程序无法正常启动,结果容器立即退出。

如果您oc logs在 pod 名称上使用,您可能看不到任何有用的信息,因为它会捕获启动它的最新尝试正在执行的操作,并且可能会丢失消息。

您应该做的是提供--previousor-p选项oc logs以及 pod 名称。这将向您显示上次尝试启动容器的完整日志。

如果这是您正在使用的任意 Docker 映像,则可能会发生并导致容器无法启动的常见问题是需要以 root 用户身份运行的应用程序映像。因为以 root 身份在容器内运行应用程序仍然存在风险,所以 OpenShift 默认不允许您这样做,而是作为任意分配的用户 ID 运行。应用程序映像的设计可能没有考虑到这种可能性,因此失败。

因此,尝试获取这些日志消息并查看问题所在。

于 2016-03-01T03:32:49.930 回答
1

临时解决方法-> https://github.com/fabric8io/ipaas-quickstarts/issues/1157

基本上需要删除 src/main/hawt-app 目录。

于 2016-03-01T13:42:17.467 回答