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

如何使用docker-compose.debug.yml调试在docker中运行的节点?

徐丰茂
2023-03-14
问题内容

我已经使用vs
docker扩展
来创建docker文件。但我不知道使用docker-
compose.debug.yml调试代码的“正确”方法是什么,例如,如何设置环境。所以我只要按F5键,所有的魔术都将发生

我确实找到了一种调试代码的方法。首先docker-compose -f docker- compose.debug.yml在终端中运行。然后使用容器内节点开发:Visual Studio
Code中的launch.json 附加到我在docker
中的节点。

但是我认为Code可以提供一种简化调试过程的简单方法。


问题答案:

您可以执行此操作,但需要进行一些修改。

launch.json

{
    // Use IntelliSense to learn about possible Node.js debug attributes.
    // Hover to view descriptions of existing attributes.
    // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
    "version": "0.2.0",
    "configurations": [
        {
            "type": "node",
            "request": "attach",
            "name": "Attach to Remote",
            "address": "127.0.0.1",
            "port": 9229,
            "localRoot": "${workspaceRoot}",
            "remoteRoot": "/usr/src/app",
            "preLaunchTask": "start_node_compose"
        }
        // {
        //     "type": "node",
        //     "request": "launch",
        //     "name": "Launch Program",
        //     "program": "${workspaceRoot}/index.js"
        // }
    ]
}

如您所见,我评论了本地启动,并使其成为第一个启动程序,因此它可以在F5上运行。接下来,我们需要定义一个start_node_compose任务

task.json

{
    "version": "0.1.0",
    "command": "myCommand",
    "isShellCommand": false,
    "args": [],
    "showOutput": "always",
    "tasks": [
        {
            "taskName": "start_node_compose",
            "showOutput": "always",
            "isBuildCommand": true,
            "command": "/bin/bash",
            "args": [
                "-c",
                "docker-compose -f docker-compose.yml -f docker-compose.debug.yml up -d && sleep 10"
            ]
        }
    ]
}

Then when you run the command using F5 you will be able to hit the breakpoint

Debug
Breakpoint



 类似资料:
  • 问题内容: 我有一个在码头上运行的Jetty应用程序。我想使用本地IntelliJ调试此应用程序。我使用的是14.1版,因此我已经安装了Docker Integration插件。 在“云”下,我使用的是单击“ +”时显示的默认值。IntelliJ文档说这应该没问题。在这里 我不确定它们的用途,所以我不知道这些值是否正确。 在运行/调试配置下,我正在使用Docker部署,以及以下值: 当我尝试运行此

  • 我试图将我本地的Py魅力Django切换到基于docker的开发环境。我在mac上运行并使用Docker-Comment(少数dockers:我的django应用程序,一些db和nginx)。 所有运行正常,代码更改立即反映在docker中,在Pycharm中编码时,正确的包可用。docker compose启动后,Pycharm的docker plugin窗口中将显示一个正在运行的容器列表,对于

  • 我正在为nodejs应用程序上的典型开发人员规划工作流。我想你们大多数人都会: git clone[appcode](具有卷映射到本地路径的Dockerfile) 然后我编辑一些代码,最好使用像WebStorm或文本编辑器Sublime等IDE。然后终端Ctrl C终止当前进程 以上所有内容看起来都很标准吗? 我的主要问题是,是否有人使用IDE或节点检查对容器进行调试? 我尝试过暴露端口等..连接

  • Docker-compose.yaml 我怎么能那么做?

  • 如果我直接在docker中运行google-chrome,它会显示如下: 系统:

  • 我编写docker文件是为了运行jar文件,而它并没有创建日志文件,请参阅下面的控制台是我的docker文件