Din docker-behållare bör kunna binda sin mysql-port till vilken port som helst på den virtuella datorn. Du gör det med -p VMPort:containerPort
alternativet för docker run
.
https://docs.docker.com/engine/reference/ kör/#expose-incoming-ports
Så detta kommando
docker run -p 3306:3306 your-sql-container
Kommer att publicera 3306-porten för din container till 3306-porten på din virtuella dator.
Vid den tidpunkten bör du kunna träffa din SQL med
Connection con = DriverManager.getConnection("jdbc:mysql://10.0.2.15:3306/databaseName","root","myrootpassword");
Jag använde din virtuella dator-adress och den bundna porten på den virtuella datorn. Du bör ersätta databaseName
med det faktiska namnet på din DB.