我该如何调试vs代码中用Java编写的Docker容器风暴搜寻器?

问题描述

我无法获取如何在vs代码中调试Docker容器(正在运行Storm爬网程序)?我尝试寻找https://code.visualstudio.com/docs/containers/debug-common 和其他https://github.com/DigitalPebble/storm-crawler/wiki/Debug-with-Eclipse。 但是我什么也没做,就像我该如何配置launch.json文件一样。

有人可以指导我该怎么做吗?

解决方法

如果您尝试使用VSCode提供的Docker Debugger,我认为您会遇到奇怪的问题。文档说明

Docker扩展当前支持在Docker容器中调试Node.js,Python和.NET Core应用程序。

根据我的经验,编辑Java代码和Dockerfile,然后重建并重新运行容器可帮助我进行编辑,并在代码中随意查找任何问题。

Dockerhub也许也是寻求帮助的好地方

,

这为我解决了问题: 将launch.json文件编写为:

{
    "version": "0.2.0","configurations": [
       {
           "type": "java","name": "Debug (Attach) - Remote","request": "attach","hostName": "localhost","port": 8000,}
    ]
}

并将其连接到Storm crawler的Docker容器,如下所示:

version: "3"

services:
  storm-jar:
    command: bash -c "storm kill crawler -w 0 ; storm local target/stormcrawler-1.0.jar org.apache.storm.flux.Flux es-crawler.flux --sleep 86400000" 
    environment:
      - STORM_JAR_JVM_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=8000"
    ports:
      - 8000:8000

风暴爬虫的github维基页面上提供了调试风暴爬虫的环境:https://github.com/DigitalPebble/storm-crawler/wiki/Debug-with-Eclipse