一尘不染

如何使用IntelliJ调试在Docker中运行的应用程序?

docker

我有一个在码头上运行的Jetty应用程序。我想使用本地IntelliJ调试此应用程序。我使用的是14.1版,因此我已经安装了Docker
Integration插件。

在“云”下,我使用的是单击“ +”时显示的默认值。IntelliJ文档说这应该没问题。在这里

API URL: http://127.0.0.1:2376
Certificates folder: <empty>

我不确定它们的用途,所以我不知道这些值是否正确。

在运行/调试配置下,我正在使用Docker部署,以及以下值:

Deployment: Docker Image
Image ID: The docker image ID 
Container name: The name of the container

当我尝试运行此命令时,出现javax.ws.rs.ProcessingException:org.apache.http.conn.HttpHostConnectException:连接到http://127.0.0.1:2376
[/127.0.0.1]失败:连接被拒绝

显然,我使用的API URL值不正确。关于该值应该有什么建议?

我的调试选项是:

 -Xdebug -Xnoagent -Xrunjdwp:transport=dt_socket,address=5005,server=y,suspend=n -Djava.compiler=NONE

阅读 229

收藏
2020-06-17

共1个答案

一尘不染

嘘没关系。我真的不需要Docker集成插件。似乎更多的是直接通过Intellij进行Docker的部署和管理,而不是进行调试。

要调试在docker容器中运行的码头应用程序,我只需进行远程调试:

运行 编辑配置| + | 远程

由于我使用了默认的远程调试选项,因此命令行参数已经确定。我只需要更改主机设置。在这里,我使用了在Docker容器中设置的主机名

2020-06-17