【问题标题】:Docker is restarting again and aginDocker 再次重新启动并再次启动
【发布时间】:2016-09-29 20:26:51
【问题描述】:

我的 docker 出现问题。 我有自己的 SonarQube 3.6.2 图像,其中包括几个自定义规则。 我尝试将其放入容器中,但如果我在尝试启动容器时运行 SonarQube,那么我的容器会不断重新启动。

我刚刚尝试了我的每一个想法:ENTRYPOINT(两种形式:ENTRYPOINT["/sonarQube362/bin/linux-x86-64/sonar.sh", "start"]ENTRYPOINT /sonarQube362/bin/linux-x86-64/sonar.sh start)、CMD(两种形式),使用第三方 run.sh,其中包含以下命令行:

#!/bin/bash
set -e

#nohup  /sonarQube362/bin/linux-x86-64/sonar.sh start
exec /sonarQube362/bin/linux-x86-64/sonar.sh start

我的容器总是处于“重新启动”状态,并且日志只是抱怨Sonar is restarted,一次又一次,一次又一次......

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

当设置为CMDENTRYPOINT SonarQube/Docker 循环重新启动时,你们知道原因吗?

干杯,

【问题讨论】:

  • docker logs CONTAINER_NAME 显示什么?
  • 请注意,3.6.2 是一个古老的版本。 4.5.6 是当前的 LTS 版本,下一个 LTS 5.6 即将发布。
  • @jwodder:它只是在“SonarQube 开始... SonarQube 开始”上循环
  • @G.Ann-SonarSourceTeam:我知道。谢谢。但我必须使用 3.6.2 有很多原因,首先是它由我的客户提供,有自己的规则,我对这个确切版本有合同承诺。 (PS:我也在使用旧的 JEE6 和 Java 6,但是......我别无选择)。无论如何,3.6.2 几年前曾经工作过,现在应该仍然可以工作......此外,问题不是 SonarQube 3.6.2 没有启动,SonarQube 3.6.2 不是自动启动 Docker,而是在重启时循环。

标签: docker sonarqube sonarqube-ops


【解决方案1】:

好的。我刚刚找到了解决方案。

我更新了 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 来实现这一点,但这是另一个话题...

希望这会有所帮助, 干杯, 奥利维尔

【讨论】:

    猜你喜欢
    • 2017-10-23
    • 2018-01-19
    • 1970-01-01
    • 1970-01-01
    • 2020-05-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多