代码之家  ›  专栏  ›  技术社区  ›  Martin Čuka

无法将Spring启动应用程序连接到Docker Mysql容器-未知数据库

  •  0
  • Martin Čuka  · 技术社区  · 6 年前

    在docker中创建了一个网络

    docker network create mysql-network
    

    然后我创建mysql映像

    docker container run -d -p 3306:3306 --net=mysql-network --name mysql-hibernate -e MYSQL_ROOT_PASSWORD=password -e MYSQL_DATABASE=test -v hibernate:/var/lib/mysql mysql
    

    当我跑的时候 码头工人ps enter image description here

    这是我的 application.properties

    spring.jpa.hibernate.ddl-auto=create
    useSSL=false
    spring.datasource.url=jdbc:mysql://localhost:3306/test
    spring.datasource.username=root
    spring.datasource.password=password
    spring.jpa.properties.hibernate.dialect = org.hibernate.dialect.MySQL57Dialect
    

    我也试过了

    spring.datasource.url=jdbc:mysql://mysql-hibernate:3306/test
    

    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:未知数据库“test”

    它怎么可能不知道数据库“test”?我在docker中指定了这样一个名字
    -e\u DATABASE=测试
    我错过了什么?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Artur    6 年前

    我知道有点晚了,但我还是会回答的,这样来这里的人可以从中受益;) 你的整体配置似乎还不错。当你得到这样的错误,你可以添加标志参数设置为真在你的application.properties 在您设置数据源url的行中。 所以你会得出这样的结论:

    spring.datasource.url=jdbc:mysql://localhost:3306/test?createDatabaseIfNotExist=true