通过docker compose连接Spring云数据流和Postgresql数据库

通过docker compose连接Spring云数据流和Postgresql数据库,postgresql,docker-compose,spring-cloud-dataflow,Postgresql,Docker Compose,Spring Cloud Dataflow,我尝试使用以下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:

我尝试使用以下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}
容器成功运行

在数据流中,我使用standart jdbc应用程序创建流。 在url选项中,我使用:

     jdbc:postgresql://postgresql:5433/test_source
数据库不存在

在postgresql.conf中,我指定了端口5433(以防止与本地主机postgresql上的5432冲突)

对于docker Connection,我使用默认网络

因此,我增加了日志:

at org.springframework.boot.jdbc.AbstractDataSourceInitializer.initialize(AbstractDataSourceInitializer.java:53) ~[spring-boot-2.1.13.RELEASE.jar!/:2.1.13.RELEASE]
根据文档,在该类的字符串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”解决的问题

将值“org.postgresql.Driver”设置为属性“Driver class name”解决的问题