Upgrading to sonarqube:8.1-developer-beta docker container. Error on start

I am attempting to move from docker sonarqube:7.9-community to sonarqube:8.1-developer-beta.

Because this is an update I want to continue to use the same Azure SQL database.

I am running these containers via an Azure App Service. When I attempt to run the sonarqube:8.1-developer-beta version I get the following error.

Container prod-ne-sonarqube-web_0_5a713973 for site prod-ne-sonarqube-web has exited, failing site start
2020-02-25 21:31:37.424 ERROR - Container web_0_5a713973 didn't respond to HTTP pings on port: 9000, failing site start. See container logs for debugging.
2020-02-25 21:31:37.466 INFO  - Stoping site web because it failed during startup.

When inspecting the logs everything looks normal. The generated docker run command does map to port 9000

docker run -d -p 9829:9000 --name web_0_5a713973 -e WEBSITES_ENABLE_APP_SERVICE_STORAGE=true -e WEBSITE_SITE_NAME=web -e WEBSITE_AUTH_ENABLED=False -e PORT=9000 -e WEBSITE_ROLE_INSTANCE_ID=0 -e WEBSITE_HOSTNAME=web.azurewebsites.net -e HTTP_LOGGING_ENABLED=1 myprivateregistry/linux/nw-sonarqube:8.1-developer-edition

My image is compiled using the following DockerFile and entrypoint file

DockerFile

FROM sonarqube:8.1-developer-beta
COPY entrypoint.sh ./bin/
USER root
RUN chmod +x ./bin/entrypoint.sh 
RUN mkdir -p /home/sonarqube/data
RUN chown -R sonarqube:sonarqube /home/sonarqube
USER sonarqube
ENTRYPOINT ["./bin/entrypoint.sh"]

Entrypoint

#!/usr/bin/env bash

echo Create a new sonarqube_home_new folder and backup your old folder
export SONARQUBE_HOME=/home/sonarqube

echo Preparing SonarQube container
echo Moving directory
mv -n /opt/sonarqube/conf /home/sonarqube
mv -n /opt/sonarqube/logs /home/sonarqube
mv -n /opt/sonarqube/extensions /home/sonarqube

echo Changing owners
chown -R sonarqube:sonarqube /home/sonarqube/data
chown -R sonarqube:sonarqube /home/sonarqube/conf
chown -R sonarqube:sonarqube /home/sonarqube/logs
chown -R sonarqube:sonarqube /home/sonarqube/extensions

echo Removing files
rm -rf /opt/sonarqube/conf
rm -rf /opt/sonarqube/logs
rm -rf /opt/sonarqube/extensions

echo Creating symlinks
ln -s /home/sonarqube/conf /opt/sonarqube/conf
ln -s /home/sonarqube/logs /opt/sonarqube/logs
ln -s /home/sonarqube/extensions /opt/sonarqube/extensions

#chown -R sonarqube:sonarqube $SONARQUBE_HOME

set -e

if [ "${1:0:1}" != '-' ]; then
  exec "$@"
fi

# Parse Docker env vars to customize SonarQube
#
# e.g. Setting the env var sonar.jdbc.username=foo
#
# will cause SonarQube to be invoked with -Dsonar.jdbc.username=foo

declare -a sq_opts

while IFS='=' read -r envvar_key envvar_value
do
    if [[ "$envvar_key" =~ sonar.* ]] || [[ "$envvar_key" =~ ldap.* ]]; then
        sq_opts+=("-D${envvar_key}=${envvar_value}")
    fi
done < <(env)

exec tail -F ./logs/es.log & 
exec java -jar lib/sonar-application-$SONAR_VERSION.jar \
  -Dsonar.log.console=true \
  -Dsonar.jdbc.username="$APPSETTING_SONARQUBE_JDBC_USERNAME" \
  -Dsonar.jdbc.password="$APPSETTING_SONARQUBE_JDBC_PASSWORD" \
  -Dsonar.jdbc.url="$SQLAZURECONNSTR_SONARQUBE_JDBC_URL" \
  -Dsonar.web.javaAdditionalOpts="$SONARQUBE_WEB_JVM_OPTS -Djava.security.egd=file:/dev/./urandom" \
  -Dsonar.search.javaAdditionalOpts=-Dnode.store.allow_mmapfs=false \
  "${sq_opts[@]}" \
  "$@"
1 Like

Hi,

Welcome to the community!

As you noted, the 8.1 docker images are still in beta. 8.2 drops today and the docker are imminent. With 8.2 we made some changes and they become “official”. So… I can’t answer your Docker question, but you might wait 24h and try again with 8.2.

 
HTH,
Ann

Hi @ganncamp,

When you say 8.2 drops today do you mean an official docker image?

Thanks

Hi,

When the Docker images become available is a question of when they’re approved on the Docker side. We’ve submitted them already.

 
Ann