Su contenedor docker debería poder vincular su puerto mysql a cualquier puerto en la máquina virtual. Lo haces con -p VMPort:containerPort
opción de docker run
.
https://docs.docker.com/engine/reference/ ejecutar/#exponer-puertos-entrantes
Así que este comando
docker run -p 3306:3306 your-sql-container
Publicará el puerto 3306 de su contenedor en el puerto 3306 de su máquina virtual.
En ese momento, debería poder acceder a su SQL con
Connection con = DriverManager.getConnection("jdbc:mysql://10.0.2.15:3306/databaseName","root","myrootpassword");
Usé su dirección de VM y el puerto vinculado en la VM. Debe reemplazar databaseName
con el nombre real de su base de datos.