Podría ejecutar su instancia con reenvío 3306:
$ docker run --expose=3306 -p 3306 mysql
Consulte puertos entrantes .
El que especifiques:
jdbc:mysql://127.0.0.1:3306/<dbname>
Tu comando se convierte en:
$ docker run --name mydb -e MYSQL_ROOT_PASSWORD=12345 -d --expose=3306 -p 3306 mysql:5.7.11
Es posible que deba cambiar la configuración de MySQL.
Puede ir dentro del contenedor con:
$ docker exec -it mydb bash
Y luego podrías:
$ echo "bind-address = 0.0.0.0" >> /etc/mysql/my.cnf
No olvides recargar mysql.
Luego, debe crear la base de datos e importar su esquema (si es necesario).
$ mysql -uroot -p12345 -e"CREATE DATABASE mydb"
$ mysql -uroot -p12345 mydb < mydb-schema.sql