我有一個在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