Не удается подключить приложение Spring Boot к контейнеру Docker Mysql - неизвестная база данных - PullRequest
0 голосов
/ 17 сентября 2018

В докере создана сеть

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'

Как это возможно, что он не знает базу данных 'test'? Я указал имя в Docker следующим образом:
-e MYSQL_DATABASE = test
Чего мне не хватает?

1 Ответ

0 голосов
/ 17 декабря 2018

Я знаю, что уже поздно, но я все равно отвечу, чтобы люди, пришедшие сюда, могли получить выгоду Ваша конфигурация в целом выглядит хорошо. Когда вы получаете такую ​​ошибку, вы можете добавить флаг param, установленный в true, в ваш application.properties в строке, где вы устанавливаете URL источника данных. Итак, вы придумаете что-то вроде этого:

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

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...