Sie können localhost nicht verwenden im Container ist es der Container selbst. Daher erhalten Sie immer den Fehler „Verbindung abgelehnt“.
Sie können die folgenden Dinge tun -
-
Fügen Sie die IP Ihres Hostcomputers in
application.propertieshinzu Datei Ihrer Spring-Boot-Anwendung. (Nicht empfohlen, da es Docker-Portabilitätslogik bricht) -
Falls Sie
localhostverwenden möchten verwenden Sie--net=hostbeim Starten des Containers. (Nicht für die Produktion empfohlen, da keine logische Netzwerkschicht vorhanden ist) -
Verwenden Sie
--linksfür die Containerkommunikation mit einem DNS-Namen. (veraltet/veraltet) -
Erstellen Sie eine Compose-Datei und rufen Sie Ihre DB aus der Spring Boot-App mit dem Dienstnamen auf, da sie sich im selben Netzwerk befinden und stark miteinander integriert sind. (Empfohlen)
PS – Wann immer Sie mehrere Container zusammen integrieren müssen, entscheiden Sie sich immer für docker-compose version 3+ . Verwenden Sie docker run|build um die Grundlagen zu verstehen und Trocken-/Testläufe durchzuführen.