debug-spring-boot im Andockfenster

Aus irgendeinem Grund habe ich Probleme mit der Verbindung " remote-debug-auf eine spring-boot-Anwendung läuft innerhalb Andockfenster. Starte ich die java-app mit:

java -Xdebug -Xrunjdwp:server=y,transport=dt_socket,address=8000,suspend=n -jar app.jar

Für Andockfenster ich setze diese ports auf docker-compose:

ports:
- "8080:8080"
- "8000:8000"

Jedoch der debugger ist nicht in der Lage, eine Verbindung auf port 8000. Es funktioniert wenn ich den server lokal aber nicht im Andockfenster. Irgendeine Idee warum?

Docker ps:

CONTAINER ID        IMAGE                       COMMAND                CREATED               STATUS              PORTS                                            NAMES
0d17e6851807        pocmanager_manager:latest   "/bin/sh -c 'java -D   3 seconds ago       Up 2 seconds        0.0.0.0:8000->8000/tcp, 0.0.0.0:8080->8080/tcp   pocmanager_manager_1   
35ed2e2c32bc        redis:latest                "/entrypoint.sh redi   14 seconds ago      Up 13 seconds       0.0.0.0:6379->6379/tcp                           pocmanager_redis_1
  • Was verwenden Sie als Host für den debugger. Wenn Sie habe nur versucht, mit localhost müssen Sie versuchen, mit 127.0.0.1. Dies ist,wenn Ihre docker-container auf der gleichen Maschine laufen Ihre eclise. Wenn Sie gehostet haben Ihre container auf einer VMBox dann müssen Sie möglicherweise die IP des host.
  • Ich verwende intellij, ich versuche die Verbindung zu 192.168.59.103 port 8000. Seine die ip-Adresse des boot2docker Instanz.
  • Können Sie uns die Ausgabe von "docker ps"
  • Können Sie immer noch Zugriff auf die app auf 8080 mit der selben IP. Sieht alles gut aus, mir atleast von Ihrem docker ps-Ausgabe.
  • Ja, die webapp funktioniert
  • Hm, vielleicht dieser Artikel helfen irgendwie? ptmccarthy.github.io/2014/07/24/remote-jmx-mit-docker Es beschreibt das gleiche problem, aber mit JMX aktiviert und das problem war, dass JMX hat einen port, der dynamisch zugewiesen werden.
  • Danke für den link, aber ich habe versucht, legen Sie die RMI-port, als auch, und es hat nicht funktioniert. Ich bin mir nicht sicher was mache ich falsch/fehlt hier.
  • Aus irgendeinem Grund funktionierte es, wenn ich baute das Bild manuell (über das maven-plugin) und dann begann es mit docker compose. Zuvor war ich auch bauen das Bild mit dem Komponieren. Nicht sicher, warum es nicht funktioniert.

InformationsquelleAutor Jarle Hansen | 2015-06-26
Schreibe einen Kommentar