当前位置: 首页 > 面试题库 >

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

爱茂勋
2023-03-14
问题内容

我有一个在码头上运行的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

问题答案:

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

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

运行 编辑配置| + | 远程

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



 类似资料:
  • 这里是Dockerfile 和docker-compose.yml (对于ssh->在flow this链接https://docs.docker.com/engine/examples/running_ssh_service/) 3000/TCP->0.0.0.0:3000 将ssh连接到容器 ssh root@localhost-p 32768 通过删除docker-compose.yml中的

  • 我想调试一个Vaadin8应用程序,当我启动Gradle-Task“Vaadinrun”时,控制台会告诉我调试端口: 运行在http://localhost:8080上的应用程序(调试器在8000上) 有效的方法是将远程调试会话附加到端口8000,但奇怪的是,一定有更简单的方法。问题是怎么做? 智能点子:2017.2.5 分级:4.2.1 Gradle-Vaadin支持:com.devsoap.p

  • 问题内容: 我已经使用vs docker扩展 来创建docker文件。但我不知道使用docker- compose.debug.yml调试代码的“正确”方法是什么,例如,如何设置环境。所以我只要按F5键,所有的魔术都将发生 我确实找到了一种调试代码的方法。首先在终端中运行。然后使用容器内节点开发:Visual Studio Code中的launch.json 附加到我在docker 中的节点。 但

  • 问题内容: 我有一个Rails应用程序在开发环境中的docker容器中运行。 当我尝试通过在代码中放置某个地方并将其附加到容器上来对其进行调试时,我可以在输出中看到提示,但提示不会暂停,并且无法像没有docker容器一样与之交互。 那么如何调试容器化应用程序? 问题答案: 如果您使用的是docker-compose,则可以将这些标志添加到: 然后使用附加到您的过程。现在在这里工作。确保在您的容器上

  • 我想在intellij Idea中以调试模式启动spring-boot maven应用程序,但当我创建断点时,应用程序不会挂起,而是会继续。我读了很多题目,但还是不明白怎么做。你能帮我决定最好的行动方案吗。 但是当请求LocalHost:5005/MyPage时,我会出现错误101(NET::ERR_CONNECTION_RESET)。似乎有些maven参数没有指定。 下面是我在pom.xml中的

  • 我通过maven-archetype-mojo创建了一个maven插件。我的intellij版本是:intellij 2018.1.7 并且我已经尝试了以下步骤来启动远程调试过程。 我创建了一个远程调试配置并将其指向端口8000 我在项目文件夹的终端中运行mvnDebug clean install,它显示: 准备在调试模式下执行Maven,侦听地址为8000的传输dt_socket null