我如何调试在 vs 代码中用 java 编写的 docker 容器(风暴爬虫)?

How can i debug the the docker container(storm crawler) which is written in java in vs code?

我无法获得如何在 vs 代码中调试 docker 容器(即 运行 风暴爬虫)?我试着寻找 https://code.visualstudio.com/docs/containers/debug-common 和其他 https://github.com/DigitalPebble/storm-crawler/wiki/Debug-with-Eclipse。 但我什么也没做,比如我如何配置 launch.json 文件。

任何人都可以指导我该怎么做吗?

如果您尝试使用 VSCode 提供的 Docker 调试器,我想您会 运行 遇到奇怪的问题。文档说明

The Docker extension currently supports debugging Node.js, Python, and .NET Core applications within Docker containers.

根据我的经验,编辑您的 Java 代码和 Docker 文件,然后重建和重新 运行 容器可以帮助我进行编辑并检查我的代码以解决任何问题。

Dockerhub 可能也是一个寻求帮助的好地方

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

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

并将其连接到 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