HiveBrain v1.2.0
Get Started
← Back to all entries
patterndockerMinor

Sonar:6.7 docker container restart loop

Submitted by: @import:stackexchange-devops··
0
Viewed 0 times
restartcontainerdockerloopsonar

Problem

I am running an init.sh script in order to create mapped directories for Sonar and Postgres.

Both of the containers build fine and are able to be started, but for some reason, our Sonar container is in a constant restart loop after about 8-16 seconds.

In the logs we noticed that there was a missing plugin error for "findbugs", although the compability matrix states that findbugs works with Sonar 6.7.

2017.11.23 17:16:21 WARN  web[o.a.c.l.WebappClassLoaderBase] The web application [ROOT] appears to have started a thread named [Timer-0] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
     java.lang.Object.wait(Native Method)
     java.util.TimerThread.mainLoop(Timer.java:552)
     java.util.TimerThread.run(Timer.java:505)


This seems to be a popular error when I do a sudo docker logs sonar_container

Restarting:

```
VirtualBox:~/Sonar/docker-sonar-scpvm014$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa4b1c86433d sonarqube:lts "./bin/run.sh" 16 seconds ago Up 5 seconds 0.0.0.0:9092->9092/tcp, 0.0.0.0:8060->9000/tcp sonar_container
87db675ef2dd postgres:9.5 "docker-entrypoint..." 18 hours ago Up 11 minutes 0.0.0.0:5432->5432/tcp pgsql_container
:~/Sonar/docker-sonar-scpvm014$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fa4b1c86433d sonarqube:lts "./bin/run.sh" 19 seconds ago Up 9 seconds 0.0.0.0:9092->9092/tcp, 0.0.0.0:8060->9000/tcp sonar_container
87db675ef2dd postgres:9.5 "docker-entrypoint..." 18 hours ago Up 11 minutes 0.0.0.0:5432->5432/tcp pgsql_container
~/S

Solution

I ran into the same issue and found this docker-compose file that is able to start postgres and sonarqube.

https://github.com/SonarSource/docker-sonarqube/blob/master/recipes.md

version: "2"

services:
  sonarqube:
    image: sonarqube
    ports:
      - "9000:9000"
    networks:
      - sonarnet
    environment:
      - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins

  db:
    image: postgres
    networks:
      - sonarnet
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - postgresql:/var/lib/postgresql
      # This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52
      - postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_conf:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_bundled-plugins:
  postgresql:
  postgresql_data:

Code Snippets

version: "2"

services:
  sonarqube:
    image: sonarqube
    ports:
      - "9000:9000"
    networks:
      - sonarnet
    environment:
      - SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
    volumes:
      - sonarqube_conf:/opt/sonarqube/conf
      - sonarqube_data:/opt/sonarqube/data
      - sonarqube_extensions:/opt/sonarqube/extensions
      - sonarqube_bundled-plugins:/opt/sonarqube/lib/bundled-plugins

  db:
    image: postgres
    networks:
      - sonarnet
    environment:
      - POSTGRES_USER=sonar
      - POSTGRES_PASSWORD=sonar
    volumes:
      - postgresql:/var/lib/postgresql
      # This needs explicit mapping due to https://github.com/docker-library/postgres/blob/4e48e3228a30763913ece952c611e5e9b95c8759/Dockerfile.template#L52
      - postgresql_data:/var/lib/postgresql/data

networks:
  sonarnet:
    driver: bridge

volumes:
  sonarqube_conf:
  sonarqube_data:
  sonarqube_extensions:
  sonarqube_bundled-plugins:
  postgresql:
  postgresql_data:

Context

StackExchange DevOps Q#2643, answer score: 1

Revisions (0)

No revisions yet.