在java类中访问我的docker mysql容器

我倾向泊坞窗,并试图连接我的Java应用程序中的数据库。

我已经创build了容器并启动了它

5621fc9b438d mysql / mysql-server:latest“/entrypoint.sh mysq大概一个小时以前up大约一个小时3306 / tcp mysql-db

我也访问了容器,并通过bash创build一个数据库。 我有问题连接到Java类的数据库。

我的Java方法

@Bean public DataSource dataSource() { DriverManagerDataSource dataSource = new DriverManagerDataSource(); dataSource.setDriverClassName("com.mysql.jdbc.Driver"); dataSource.setUrl("jdbc:mysql://localhost/mydb"); dataSource.setUsername("mysql-db"); dataSource.setPassword("root"); return dataSource; } 

我怎样才能连接和使用我的dockermysql数据库在Java应用程序?

确保你已经用-p 3306:3306打开了你的端口-p 3306:3306 (不仅仅是-p 3306 )。 默认情况下,只有链接的容器才能够访问你的mysql端口。

最后,如果你使用docker-machine来运行Docker,你将需要为Docker VM而不是localhost生成ip地址。

祝你好运。