首页 > 解决方案 > Sonarqube + Postgresql 容器无法确定数据库方言

问题描述

我定义了 2 个服务来在 docker swarm 中运行 Sonarqube:

version: "3"

services:

sonar-a:
    image: library/sonarqube:6.7.5
    ports:
      - "9000:9000"
    environment:
     - SONARQUBE_JDBC_USERNAME=sonar
     - SONARQUBE_JDBC_PASSWORD=sonar
     - SONARQUBE_JDBC_URL="jdbc:postgresql://10.11.12.13:5432/sonar"
    deploy:
      placement:
        constraints:
          - node.hostname == some-node

  sonar-a-db:
    image: library/postgres:10.5
    ports:
      - "5432:5432"
    environment:
     - POSTGRES_USER=sonar
     - POSTGRES_PASSWORD=sonar
     - POSTGRES_DB=sonar
    deploy:
      placement:
        constraints:
          - node.hostname == some-node

(我删除了卷以简化测试)

但我总是收到这个错误,告诉我 Sonar 无法“确定数据库方言”:

...

2018.09.28 15:22:42 INFO web[][ospProcessEntryPoint] 启动 web

2018.09.28 15:22:42 INFO web[][oatunNioSelectorPool] 使用共享选择器进行 servlet 写入/读取

2018.09.28 15:22:42 INFO web[][oepPluginsService] 没有加载模块

2018.09.28 15:22:42 INFO web[][oepPluginsService] 加载插件 [org.elasticsearch.join.ParentJoinPlugin]

2018.09.28 15:22:42 INFO web[][oepPluginsService] 加载插件 [org.elasticsearch.percolator.PercolatorPlugin]

2018.09.28 15:22:42 INFO web[][oepPluginsService] 加载插件 [org.elasticsearch.transport.Netty4Plugin]

2018.09.28 15:22:43 INFO web[][osseEsClientProvider] 连接到本地 Elasticsearch: [127.0.0.1:9001]

2018.09.28 15:22:43 INFO web[][osspLogServerVersion] SonarQube 服务器 / 7.1.0.11001 / 9f47ce9daecebb16fc777249a418252625ae774a

2018.09.28 15:22:43 错误 web[][osspPlatform] Web 服务器启动失败:无法确定要在声纳中使用的数据库方言,方言为 null jdbc url “jdbc:postgresql://10.4.140.56:5432/sonar”

2018.09.28 15:22:48 INFO app[][osaSchedulerImpl] 进程 [web] 已停止...

我尝试了不同的版本,我尝试了 mysql,我尝试在 SONARQUBE_JDBC_URL 中传递一个方言变量,但没有任何改变任何想法?

标签: dockersonarqubecontainersdialect

解决方案


YAML 中的字符串应该不带引号定义。现在您的 JDBC URL 等于"jdbc:postgresql://10.11.12.13:5432/sonar"而不是jdbc:postgresql://10.11.12.13:5432/sonar.

你必须改变这个:

- SONARQUBE_JDBC_URL="jdbc:postgresql://10.11.12.13:5432/sonar"

至:

- SONARQUBE_JDBC_URL=jdbc:postgresql://10.11.12.13:5432/sonar

推荐阅读