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.properties
hinzu Datei Ihrer Spring-Boot-Anwendung. (Nicht empfohlen, da es Docker-Portabilitätslogik bricht) -
Falls Sie
localhost
verwenden möchten verwenden Sie--net=host
beim Starten des Containers. (Nicht für die Produktion empfohlen, da keine logische Netzwerkschicht vorhanden ist) -
Verwenden Sie
--links
fü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.