2016-05-31 5 views
0

나는 도커에 문제가 있습니다. 나는 SonarQube 3.6.2에 대한 내 자신의 이미지를 가지고 있는데 여기에는 몇 가지 맞춤 규칙이 포함되어 있습니다. 컨테이너에 넣으려고했지만, 컨테이너를 시작하려고 할 때 SonarQube를 실행하면 컨테이너가 계속해서 다시 시작됩니다.Docker가 다시 시작되어 계속됩니다.

#!/bin/bash 
set -e 

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

: 내부 이러한 명령 라인을 타사 run.sh를 사용하여, CMD (두 형태) : ENTRYPOINT (ENTRYPOINT["/sonarQube362/bin/linux-x86-64/sonar.sh", "start"]ENTRYPOINT /sonarQube362/bin/linux-x86-64/sonar.sh start 모두 형태 :)

난 그냥 내가 가진 모든 단일 생각을 했어요 난 항상 내 컨테이너에서 "다시 시작"상태가 내 Dockerfile 예를 들어 CMD top로 끝나는 경우 로그는 단순히 그때 docker exec -ti container bash 할 수있는 IT 및 실행으로,

... 그 Sonar is restarted, 다시, 다시, 다시 불평 위의 명령 중 하나 성공적으로

CMD 또는 ENTRYPOINT SonarQube/Docker가 루프를 다시 시작하는 이유는 무엇입니까?

건배,

+0

'도커 로그 CONTAINER_NAME'의 표시 내용은 무엇입니까? – jwodder

+0

3.6.2는 고대 버전입니다. 4.5.6은 현재 LTS 버전이고, 다음 LTS 인 5.6은 곧 출시 될 예정입니다. –

+0

@jwodder : 간단히 "SonarQube 시작 ... SonarQube 시작됨" – Olivier

답변

0

확인. 방금 해결책을 찾았습니다.

sonar.sh 스크립트를 업데이트하여 COMMAND_LINE을 변경했습니다. 그것은 래퍼를 데몬 화하는 데 사용되었지만 래퍼를 데몬 화하지 않도록 변경했습니다. 하기 전에 :

#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 이미지를 만드는 동안 awk 또는 sed을 사용하고 있지만 다른 주제는 ...

도움이 되시길 바랍니다. 건배, Olivier

관련 문제