Это скорее вопрос докера, чем соединения MySQL / JDBC.Ваш второй докер-контейнер не может добраться до вашего первого, потому что там 127.0.0.1 указывает на сам контейнер, а не на первый контейнер.
Прежде всего, вам не следует настраивать bind_address
в первом контейнере как 127.0.0.1
.Вам нужно либо оставить это значение, либо установить 0.0.0.0
.Вы, вероятно, не перезапускали MySQL, иначе вы бы не смогли подключиться из MySQL Workbench на своей собственной машине.
Возможность подключения через 127.0.0.1
с вашего компьютера к приложению, работающему в Docker.доступно только на вашей машине, а не между контейнерами.
Ваша командная строка показывает, что вы связали контейнер myApp
с контейнером mysql
(используя --link mysql
).Это означает, что в качестве URL-адреса соединения вы должны использовать:
jdbc:mysql://mysql:3306/mydatabase
То есть: замените 127.0.0.1
на mysql
, поскольку оно используется в качестве имени хоста вашего контейнера mysql для связи между этими двумя контейнерами.