【问题标题】:Sonarqube + Postgresql containers unable to determine database dialectSonarqube + Postgresql 容器无法确定数据库方言
【发布时间】:2019-03-04 15:35:17
【问题描述】:

我定义了 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[][o.s.p.ProcessEntryPoint] 启动 web

2018.09.28 15:22:42 INFO web[][o.a.t.u.n.NioSelectorPool] 使用共享选择器进行 servlet 写入/读取

2018.09.28 15:22:42 INFO web[][o.e.p.PluginsService] 没有加载模块

2018.09.28 15:22:42 INFO web[][o.e.p.PluginsService] 加载插件 [org.elasticsearch.join.ParentJoinPlugin]

2018.09.28 15:22:42 INFO web[][o.e.p.PluginsService] 加载插件 [org.elasticsearch.percolator.PercolatorPlugin]

2018.09.28 15:22:42 INFO web[][o.e.p.PluginsService] 加载插件 [org.elasticsearch.transport.Netty4Plugin]

2018.09.28 15:22:43 INFO web[][o.s.s.e.EsClientProvider] 连接到本地 Elasticsearch:[127.0.0.1:9001]

2018.09.28 15:22:43 INFO web[][o.s.s.p.LogServerVersion] SonarQube 服务器 / 7.1.0.11001 / 9f47ce9daecebb16fc777249a418252625ae774a

2018.09.28 15:22:43 错误 web[][o.s.s.p.Platform] Web 服务器启动失败:无法确定要在声纳中使用的数据库方言 dialect null jdbc url "jdbc:postgresql://10.4.140.56:5432/sonar"

2018.09.28 15:22:48 INFO app[][o.s.a.SchedulerImpl] 进程 [web] 已停止 ...

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

【问题讨论】:

    标签: docker sonarqube containers dialect


    【解决方案1】:

    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
    

    【讨论】:

    • 我不得不等到现在才测试它,它工作正常。谢谢你的解释!
    猜你喜欢
    • 2017-01-31
    • 1970-01-01
    • 2021-04-05
    • 2011-11-12
    • 2021-03-04
    • 2018-05-29
    • 2021-03-14
    • 2013-06-22
    • 1970-01-01
    相关资源
    最近更新 更多