我定义了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
(我删除了卷以简化测试)
但是我总是得到这个错误,告诉我声纳不能“确定数据库方言”:
...
2018.09.28 15:22:42 INFO网站[] [o.s.p.ProcessEntryPoint]启动网站
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信息网站[] [o.e.p.PluginsService]加载了插件[org.elasticsearch.join.ParentJoinPlugin]
2018.09.28 15:22:42信息网站[] [o.e.p.PluginsService]加载了插件[org.elasticsearch.percolator.PercolatorPlugin]
2018.09.28 15:22:42信息网站[] [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 Server / 7.1.0.11001 / 9f47ce9daecebb16fc777249a418252625ae774a
2018.09.28 15:22:43错误web [] [o.s.s.p.Platform] Web服务器启动失败:无法确定要在声纳中使用的数据库方言 方言null jdbc网址“ jdbc:postgresql://10.4.140.56:5432 /声纳”
2018.09.28 15:22:48 INFO应用程序[] [o.s.a.SchedulerImpl]进程[web]已停止 ...
我尝试了不同的版本,尝试了mysql,尝试在SONARQUBE_JDBC_URL中传递方言变量,但没有任何变化 有什么想法吗?
答案 0 :(得分: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