[英]connect Spring Cloud DataFlow and Postgresql-db by docker-compose
我嘗試使用以下 docker-compose.yaml 配置容器化:
services:
postgresql:
image: postgres:13.1
container_name: dataflow-postgresql
environment:
POSTGRES_DB: test_source
POSTGRES_USER: root
POSTGRES_PASSWORD: rootpw
expose:
- 5433
dataflow-server:
image: springcloud/spring-cloud-dataflow-server
container_name: dataflow-server
ports:
- "9393:9393"
depends_on:
- postgresql
skipper-server:
image: springcloud/spring-cloud-skipper-server
container_name: skipper
ports:
- "7577:7577"
- ${APPS_PORT_RANGE:-20000-20105:20000-20105}
容器成功運行。
在數據流中,我使用標准 jdbc 應用程序創建 stream。 在 url-option 我使用:
jdbc:postgresql://postgresql:5433/test_source
數據庫存在。
在 postgresql.conf 中,我指定了端口 5433(以防止與 localhost-postgresql 中的 5432 發生沖突)。
對於 docker-connectin,我使用 default.net。
結果我獲得了日志:
at org.springframework.boot.jdbc.AbstractDataSourceInitializer.initialize(AbstractDataSourceInitializer.java:53) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
根據文檔,在這個 class 的字符串 53 中:
return false;
在方法中:
private boolean isEnabled() {
if (this.getMode() == DataSourceInitializationMode.NEVER) {
return false;
} else {
return this.getMode() != DataSourceInitializationMode.EMBEDDED || EmbeddedDatabaseConnection.isEmbedded(this.dataSource);
}
}
我究竟做錯了什么?
通過將值“org.postgresql.Driver”設置為屬性“driver-class-name”解決了這個問題
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.