Docker正在重新启动并重新启动

时间:2016-05-31 17:36:05

标签: docker sonarqube sonarqube-ops

我的码头工人遇到了问题。 我有自己的SonarQube 3.6.2图像,其中包含一些自定义规则。 我试着将它放在容器中,但如果我在尝试启动容器时运行SonarQube,那么我的容器会一次又一次地重新启动。

我只是尝试了我的每一个想法:ENTRYPOINT["/sonarQube362/bin/linux-x86-64/sonar.sh", "start"](两种形式:ENTRYPOINT /sonarQube362/bin/linux-x86-64/sonar.sh startCMD),#!/bin/bash set -e #nohup /sonarQube362/bin/linux-x86-64/sonar.sh start exec /sonarQube362/bin/linux-x86-64/sonar.sh start (两种形式),使用第三方运行.sh里面有这些命令行:

Sonar is restarted

我的容器上始终有“重新启动”状态,日志只会再次抱怨CMD top,然后又一次......

例如,如果我的Dockerfile以docker exec -ti container bash结尾,那么我可以CMD进入它并成功运行上述任何命令。

当你设置为ENTRYPOINT In [1]: import maintenance In [2]: a = maintenance.A() In [3]: a() Out[3]: Stopping A Executing the common task Cleaning logs In [4]: b = maintenance.B() In [5]: b() Out[5]: Stopping B Executing the common task SonarQube / Docker循环重启时,你们有没有想过为什么?

干杯,

1 个答案:

答案 0 :(得分:0)

行。我刚刚找到了解决方案。

我更新了sonar.sh脚本以更改COMMAND_LINE。它曾用于守护包装器,我只是将其更改为不守护包装器。因此Docker可以跟踪它......

为了清楚起见,这是一行: 之前:

#COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=TRUE $ANCHORPROP $IGNOREPROP $LOCKPROP"

后:

COMMAND_LINE="$CMDNICE \"$WRAPPER_CMD\" \"$WRAPPER_CONF\" wrapper.syslog.ident=$APP_NAME wrapper.pidfile=\"$PIDFILE\" wrapper.daemonize=FALSE $ANCHORPROP $IGNOREPROP $LOCKPROP"

当然,您可以在构建Docker镜像时使用awksed,但这是另一个主题......

希望这有帮助, 干杯, 奥利弗