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

时间:2018-09-16 22:33:18

标签: docker spring-boot

在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

当我运行 docker 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”怎么可能?我在docker这样指定了名称
-e MYSQL_DATABASE = test
我想念什么?

1 个答案:

答案 0 :(得分:1)

我知道现在有点晚了,但我还是会回答,以便来这里的人可以受益;) 您的配置总体看来还不错。当出现这样的错误时,可以在设置数据源URL的行中的application.properties中添加设置为true的标志参数。 因此,您将想到以下内容:

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

希望这会有所帮助!