Debug Spring-Boot im Docker

8

Aus irgendeinem Grund habe ich Probleme beim Verbinden von Remote-Debug mit einer Spring-Boot-App, die im Docker läuft. Ich starte die Java App mit:

%Vor%

Für docker stelle ich diese Ports auf docker-compose:

%Vor%

Der Debugger kann jedoch keine Verbindung zu Port 8000 herstellen. Er funktioniert, wenn ich den Server lokal, aber nicht innerhalb von docker ausführe. Irgendeine Idee warum?

Docker ps-Ausgabe:

%Vor%     
Jarle Hansen 26.06.2015, 10:18
quelle

3 Antworten

7

ich muss erkennen, dass in der dockerFile der Expose-Befehl nur die Hälfte der Arbeit tun, das bedeutet, dass nur den Port im Docker freilegen, aber nicht außerhalb, in Ihrem Beispiel wird das Ergebnis so aussehen:

Debug funktioniert mit dem JAVA_OPTS und remote debug, die dockerFile sieht so aus:

%Vor%

und Ausführen dieses Befehls:

%Vor%

Wie Sie sehen können, sollten Sie den Debug-Port während des Laufs in meinem Fall (eclipse) 8000

verfügbar machen

    
nekperu15739 16.11.2016 09:20
quelle
6

Hi Ich hatte das gleiche Problem.

Ich habe Folgendes zum Einstiegspunkt in der Dockerfile hinzugefügt:

  

"- agentlib: jdwp = Transport = dt_socket, Adresse = 8000, Server = y, Aussetzung = n"

Jetzt sieht es so aus:

%Vor%

Ich habe nicht Expose port 8000 in der Dockerfile.

Hoffe, das hilft.

    
SWiggels 14.10.2016 13:45
quelle
0

Ich denke, der Grund dafür könnte sein, dass Ihre Virtual Box-VM-Konfiguration den Debug-Port nicht auf den Host-Computer tunnelt.

Überprüfen Sie diesen Link Ссылка

Grundsätzlich müssen Sie in Ihrem Fall die Eingabeaufforderung aufrufen und

ausführen

VBoxManage modifyvm "boot2docker-vm" --natpf1 "tcp-port8000,tcp,,8000,,8000";

Hinweis: Stellen Sie sicher, dass sich VBoxManage in Ihrem PFAD befindet

    
Palanivelrajan 14.07.2015 03:57
quelle

Tags und Links