2017-10-10 137 views
3

我有一個Dockerfile與此內容:遠程調試Java 9

FROM openjdk:9 

WORKDIR /project 

ADD . /project 

EXPOSE 5005 

我的搬運工,compose.yml看起來是這樣的:

version: "3.2" 
services: 
    some-project: 
    build: . 
    ports: 
     - target: 5005 
     published: 5005 
     protocol: tcp 
     mode: host 
    command: "java '-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5005' SomeClass" 

當我做docker-composer up我看到一條消息「正在收聽地址:5005的DT_socket傳輸」。但是當我嘗試連接jdb或者Idea時,我得到「java.io.IOException:握手失敗 - 連接關閉」。

一切工作正常,如果我改變openjdk:9openjdk:8。不過,我的項目需要Java 9。

+1

還看到:https://youtrack.jetbrains.com/issue/IDEA-173607 – Henry

回答

0

這不是一個答案只是一個確認。其實這是幾乎一模一樣,我們如何做到這一點:

  • ports: <someport>:5005
  • -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005
  • 在IDE中遠程調試器連接到<someport>
+0

DO你用java 9做到了嗎? –

+0

不,java 8.所以「這不是答案」。 – lexicore