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

Я работаю в среде Windows 10. Мой Docker версии 1.13.0, сборка 49bf474.

У меня запущено приложение Spring Boot в контейнере Docker Я пытаюсь получить доступ к локальному экземпляру MySQL из приложения Spring. Мой экземпляр MYSQL не работает на контейнере.

Я понимаю, что это проблема с сетью, и я уже пытаюсь запустить Docker с помощью следующей команды: docker run -p 8282: 8191 ami --network = "host" но безуспешно.

Может кто-нибудь помочь мне решить эту проблему.

Заранее спасибо.

Примечание. С моей конфигурацией приложения Spring все в порядке, поскольку я могу без проблем подключиться к серверу AWS MSQL RDS из контейнера.

Ошибка, которую я получаю, как показано ниже

2019-04-19 07:33:32.025  INFO 1 --- [           main] o.s.web.context.ContextLoader            : Root WebApplicationContext: initialization completed in 3308 ms
2019-04-19 07:33:32.264  INFO 1 --- [           main] com.zaxxer.hikari.HikariDataSource       : HikariPool-1 - Starting...
2019-04-19 07:33:33.422 ERROR 1 --- [           main] com.zaxxer.hikari.pool.HikariPool        : HikariPool-1 - Exception during pool initialization.

com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.

Мало информации:

spring.datasource.url=jdbc:mysql://127.0.0.1:3306/financedb
spring.datasource.username=****
spring.datasource.password=****
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

1 Ответ

1 голос
/ 19 апреля 2019

Docker для Windows использует vm для запуска контейнеров Linux.Таким образом, «localhost» - это виртуальная машина, а не ваша машина с Windows при работе с net = host. Вы можете использовать специальное имя хоста в качестве хоста MySQL

docker.for.win.localhost

Это указываетна вашем компьютере с Windows, и вы даже можете запустить без net = host.

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