Skip to content

Instantly share code, notes, and snippets.

@batmat
Created July 15, 2015 22:32
Show Gist options
  • Save batmat/3196eb71ee52cefb1b5b to your computer and use it in GitHub Desktop.
Save batmat/3196eb71ee52cefb1b5b to your computer and use it in GitHub Desktop.
Working SonarQube + Mysql Dead Simple Docker Compose file
sonarqube:
image: sonarqube:5.1.1
ports:
- "9000:9000"
- "3306:3306"
environment:
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
- SONARQUBE_JDBC_URL=jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
db:
image: mysql
net: container:sonarqube
environment:
- MYSQL_ROOT_PASSWORD=sonar
- MYSQL_DATABASE=sonar
- MYSQL_USER=sonar
- MYSQL_PASSWORD=sonar
@AlexLand03
Copy link

great, at 2018 and working fine for me.

@johan974
Copy link

johan974 commented Feb 9, 2019

Advice: the 'db' container name should be used in stead of 'localhost' in the SONARQUBE_JDBC_URL?

@kamal2222ahmed
Copy link

$ docker ps
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
ee0a6c336847        mysql               "docker-entrypoint.s…"   18 seconds ago      Up 17 seconds                           51_db_1
$ docker-compose logs
Attaching to 51_db_1, 51_sonarqube_1
sonarqube_1  | 14:47:04.711 [main] WARN  org.sonar.application.JdbcSettings - JDBC URL is recommended to have the property 'useConfigs=maxPerformance'
sonarqube_1  | 2019.10.23 14:47:04 INFO  app[o.s.p.m.JavaProcessLauncher] Launch process[search]: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Xmx1G -Xms256m -Xss256k -Djava.net.preferIPv4Stack=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+HeapDumpOnOutOfMemoryError -Djava.io.tmpdir=/opt/sonarqube/temp -cp ./lib/common/*:./lib/search/* org.sonar.search.SearchServer /tmp/sq-process3094980798785148847properties
sonarqube_1  | 2019.10.23 14:47:05 INFO   es[o.s.p.ProcessEntryPoint]  Starting search
sonarqube_1  | 2019.10.23 14:47:05 INFO   es[o.s.s.SearchServer]  Starting Elasticsearch[sonarqube] on port 9001
sonarqube_1  | 2019.10.23 14:47:05 INFO   es[o.elasticsearch.node]  [sonar-1571842024587] version[1.4.4], pid[22], build[c88f77f/2015-02-19T13:05:36Z]
sonarqube_1  | 2019.10.23 14:47:05 INFO   es[o.elasticsearch.node]  [sonar-1571842024587] initializing ...
sonarqube_1  | 2019.10.23 14:47:05 INFO   es[o.e.plugins]  [sonar-1571842024587] loaded [], sites []
sonarqube_1  | 2019.10.23 14:47:06 INFO   es[o.elasticsearch.node]  [sonar-1571842024587] initialized
sonarqube_1  | 2019.10.23 14:47:06 INFO   es[o.elasticsearch.node]  [sonar-1571842024587] starting ...
sonarqube_1  | 2019.10.23 14:47:06 INFO   es[o.e.transport]  [sonar-1571842024587] bound_address {inet[/0.0.0.0:9001]}, publish_address {inet[/172.17.0.2:9001]}
sonarqube_1  | 2019.10.23 14:47:06 INFO   es[o.e.discovery]  [sonar-1571842024587] sonarqube/-XYiVrOtQe28YhEwKKVu-g
sonarqube_1  | 2019.10.23 14:47:09 INFO   es[o.e.cluster.service]  [sonar-1571842024587] new_master [sonar-1571842024587][-XYiVrOtQe28YhEwKKVu-g][fa8669dae291][inet[/172.17.0.2:9001]]{rack_id=sonar-1571842024587}, reason: zen-disco-join (elected_as_master)
sonarqube_1  | 2019.10.23 14:47:09 INFO   es[o.elasticsearch.node]  [sonar-1571842024587] started
sonarqube_1  | 2019.10.23 14:47:09 INFO   es[o.e.gateway]  [sonar-1571842024587] recovered [0] indices into cluster_state
sonarqube_1  | 2019.10.23 14:47:10 INFO  app[o.s.p.m.Monitor] Process[search] is up
sonarqube_1  | 2019.10.23 14:47:10 INFO  app[o.s.p.m.JavaProcessLauncher] Launch process[web]: /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djruby.management.enabled=false -Djruby.compile.invokedynamic=false -Xmx768m -XX:MaxPermSize=160m -XX:+HeapDumpOnOutOfMemoryError -Djava.net.preferIPv4Stack=true -Djava.security.egd=file:/dev/./urandom -Djava.io.tmpdir=/opt/sonarqube/temp -cp ./lib/common/*:./lib/server/*:/opt/sonarqube/lib/jdbc/mysql/mysql-connector-java-5.1.34.jar org.sonar.server.app.WebServer /tmp/sq-process2312550888199262607properties
sonarqube_1  | OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=160m; support was removed in 8.0
sonarqube_1  | 2019.10.23 14:47:10 INFO  web[o.s.p.ProcessEntryPoint] Starting web
sonarqube_1  | 2019.10.23 14:47:10 INFO  web[o.s.s.app.Webapp] Webapp directory: /opt/sonarqube/web
sonarqube_1  | 2019.10.23 14:47:10 INFO  web[o.a.c.h.Http11NioProtocol] Initializing ProtocolHandler ["http-nio-0.0.0.0-9000"]
sonarqube_1  | 2019.10.23 14:47:10 INFO  web[o.a.t.u.n.NioSelectorPool] Using a shared selector for servlet write/read
sonarqube_1  | 2019.10.23 14:47:10 INFO  web[o.a.c.s.ContextConfig] No global web.xml found
sonarqube_1  | 2019.10.23 14:47:11 INFO  web[o.e.plugins] [sonar-1571842024587] loaded [], sites []
sonarqube_1  | 2019.10.23 14:47:12 INFO  web[o.s.s.p.ServerImpl] SonarQube Server / 5.1.1 / 0a231d24c0f1e7ce1d200274b8e9bbe00f9f49fb
sonarqube_1  | 2019.10.23 14:47:12 INFO  web[o.s.c.p.Database] Create JDBC datasource for jdbc:mysql://localhost:3306/sonar?useUnicode=true&characterEncoding=utf8&rewriteBatchedStatements=true
sonarqube_1  | 2019.10.23 14:47:12 ERROR web[o.a.c.c.C.[.[.[/]] Exception sending context initialized event to listener instance of class org.sonar.server.platform.PlatformServletContextListener
sonarqube_1  | java.lang.IllegalStateException: Can not connect to database. Please check connectivity and settings (see the properties prefixed by 'sonar.jdbc.').
sonarqube_1  | 	at org.sonar.core.persistence.DefaultDatabase.checkConnection(DefaultDatabase.java:117) ~[sonar-core-5.1.1.jar:na]
sonarqube_1  | 	at org.sonar.core.persistence.DefaultDatabase.start(DefaultDatabase.java:73) ~[sonar-core-5.1.1.jar:na]
sonarqube_1  | 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_45-internal]
sonarqube_1  | 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_45-internal]
sonarqube_1  | 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_45-internal]
sonarqube_1  | 	at java.lang.reflect.Method.invoke(Method.java:497) ~[na:1.8.0_45-internal]
sonarqube_1  | 	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.invokeMethod(ReflectionLifecycleStrategy.java:110) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.lifecycle.ReflectionLifecycleStrategy.start(ReflectionLifecycleStrategy.java:89) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.injectors.AbstractInjectionFactory$LifecycleAdapter.start(AbstractInjectionFactory.java:84) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.behaviors.AbstractBehavior.start(AbstractBehavior.java:169) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.behaviors.Stored$RealComponentLifecycle.start(Stored.java:132) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.behaviors.Stored.start(Stored.java:110) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.DefaultPicoContainer.potentiallyStartAdapter(DefaultPicoContainer.java:1015) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.DefaultPicoContainer.startAdapters(DefaultPicoContainer.java:1008) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.picocontainer.DefaultPicoContainer.start(DefaultPicoContainer.java:766) ~[picocontainer-2.14.3.jar:na]
sonarqube_1  | 	at org.sonar.api.platform.ComponentContainer.startComponents(ComponentContainer.java:91) ~[sonar-plugin-api-5.1.1.jar:na]
sonarqube_1  | 	at org.sonar.server.platform.Platform.startLevel1Container(Platform.java:96) ~[sonar-server-5.1.1.jar:na]
db_1         | 2019-10-23 14:47:04+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.18-1debian9 started.
db_1         | 2019-10-23 14:47:05+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
db_1         | 2019-10-23 14:47:05+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.18-1debian9 started.
db_1         | 2019-10-23 14:47:05+00:00 [Note] [Entrypoint]: Initializing database files
db_1         | 2019-10-23T14:47:05.257915Z 0 [Warning] [MY-011070] [Server] 'Disabling symbolic links using --skip-symbolic-links (or equivalent) is the default. Consider not using this option as it' is deprecated and will be removed in a future release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment