I’ve the following sonarqube+postgres docker-compose file. It works fine on my local machines on both Docker for Windows
and Docker for Mac
.
But when I deploy it on our live server (Ubuntu 18.04), sonarqube can not access postgres and I get the following Error in sonarqube container logs:
Any idea why this happens on the live server?
These are Docker and Docker-Compose versions:
Local Machine
Docker version 18.09.2, build 6247962
Docker-compose version 1.23.2, build 1110ad01
Server
Docker version 18.09.6, build 481bc77
Docker-compose version 1.24.0, build 0aa5906
version: "3.5"
services:
sonarqube:
image: sonarqube:7.7-community
ports:
- "9000:9000"
depends_on:
- db
networks:
- sonarnet
environment:
- SONARQUBE_JDBC_URL=jdbc:postgresql://db:5432/sonar
- SONARQUBE_JDBC_USERNAME=sonar
- SONARQUBE_JDBC_PASSWORD=sonar
- sonar.forceAuthentication=true
volumes:
- sonarqubeConf:/opt/sonarqube/conf
- sonarqubeData:/opt/sonarqube/data
- sonarqubeBundledPlugins:/opt/sonarqube/lib/bundled-plugins
- sonarqubeLogs:/opt/sonarqube/logs
db:
image: postgres
networks:
- sonarnet
environment:
- POSTGRES_USER=sonar
- POSTGRES_PASSWORD=sonar
volumes:
- postgresql:/var/lib/postgresql
- postgresqlData:/var/lib/postgresql/data
networks:
sonarnet:
driver: bridge
volumes:
sonarqubeConf:
name: sonarqubeConf
driver: local
sonarqubeData:
name: sonarqubeData
driver: local
sonarqubeBundledPlugins:
name: sonarqubeBundled
driver: local
sonarqubeLogs:
name: sonarqubeLogs
driver: local
postgresql:
name: postgresql
driver: local
postgresqlData:
name: postgresqlData
driver: local
I get the following error in sonarqube container logs:
SonarQube Server / 7.7.0.23042 / 1dcac8b8de36b377a1810cc8f1c4c31744e12729
sonarqube_1 | 2019.06.13 09:16:13 INFO web[][o.sonar.db.Database] Create JDBC data source for jdbc:postgresql://db:5432/sonar
sonarqube_1 | 2019.06.13 09:16:23 ERROR web[][o.s.s.p.Platform] Web server startup failed
sonarqube_1 | java.lang.IllegalStateException: Can not connect to database. Please check connectivity and settings (see the properties prefixed by 'sonar.jdbc.').
postgres container logs
db_1 | 2019-06-13 11:18:36.548 UTC [1] LOG: listening on IPv4 address "0.0.0.0", port 5432
db_1 | 2019-06-13 11:18:36.548 UTC [1] LOG: listening on IPv6 address "::", port 5432
db_1 | 2019-06-13 11:18:36.561 UTC [1] LOG: listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1 | 2019-06-13 11:18:36.579 UTC [24] LOG: database system was shut down at 2019-06-13 11:18:35 UTC
db_1 | 2019-06-13 11:18:36.585 UTC [1] LOG: database system is ready to accept connections