docker - 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 中传递一个方言变量,但没有任何改变任何想法?
解决方案
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
推荐阅读
- python - Bot Framework v4 - 在 Blob 中保存对话引用并在新版本后重用它们
- java - 如果我说所有 Java 对象都是多态的,是否正确?
- swift - 理解 SwiftUI 中的列表标识符
- c# - ASP.Net Core 5 中的身份验证
- java - 使用“+”运算符的 Java 字符串连接
- java - ConcurrentHashMap中getKey的理解
- postgresql - 在 pgAdmin -4 中导入 CSV 文件时保留双引号
- javascript - .htaccess 和多个 Rewrite Rule 需要的清理 url 顺利使用
- apache-spark - 火花结构化流的 LSHModel
- python - 在 Python3 中将列类型“datetime64[ns]”转换为日期时间