我有一个在Dockers容器中运行的Spring Boot应用程序。该应用程序提供REST端点,可以使用http://localhost:8080/endpoint从主机成功调用该端点。以前,当此应用程序在主机上运行而不在Dockers中时,我可以使用jdbc:mariadb:// localhost:3308/fi?user = userName & password =来自应用程序内的密码来调用本地MariaDB。现在应用程序在Dockers中运行,连接返回错误:“无法连接到地址=(host = localhost)(port = 3308)(type = master):连接被拒绝(连接被拒绝)”在Docker容器中访问主机上的MySQL数据库
代码段进行连接如下:
Connection connection = DriverManager.getConnection("jdbc:mariadb://localhost:3308/fi?user=username&password=thePassword");
Statement stmt = connection.createStatement();
String query = "";
ResultSet rs = stmt.executeQuery("SELECT * ....;");
我已经有公布,接受REST从主机调用的8080端口,并试图发布或揭露3308端口,允许数据库调用在没有帮助的情况下制作。
预先感谢您!
我建议你在另一个容器中运行你的数据库 - 它建议从码头的方式。 – giaco
除了创建其他容器并重新设置数据库以外,是否还有其他特殊更改需要进行以允许一个泊坞窗中的应用程序在另一个泊坞窗中调用数据库? – dFrancisco