VSCode多个Docker运行任务只识别最后一个Docker运行任务。

6

我在Visual Studio Code中有两个任务,需要将两个不同的镜像运行到容器中。但是,只有最后一个docker run任务被VSCode识别。

这是我的tasks.json文件:

{
  "version": "2.0.0",
  "tasks": [
    {
      "label": "docker-build-1",
      "type": "docker-build",
      "platform": "python",
      "dockerBuild": {
        "tag": "image1:latest",
        "dockerfile": "${workspaceFolder}/app1/dev.Dockerfile",
        "context": "${workspaceFolder}/",
        "pull": true
      }
    },
    {
      "label": "docker-build-2",
      "type": "docker-build",
      "platform": "python",
      "dockerBuild": {
        "tag": "image2:latest",
        "dockerfile": "${workspaceFolder}/app2/dev.Dockerfile",
        "context": "${workspaceFolder}/",
        "pull": true
      }
    },
    
    
    {
      "label": "docker-run-1",
      "type": "docker-run",
      "dependsOn": [
        "docker-build-1"
      ],
      "python": {
        "module": "app.main"
      },
      "dockerRun": {
        "network": "mynetwork"
      }
    },
    {
      "label": "docker-run-2",
      "type": "docker-run",
      "dependsOn": [
        "docker-build-2"
      ],
      "python": {
        "module": "app.main"
      },
      "dockerRun": {
        "network": "mynetwork"
      }
    },
    
  ]
}

当 vscode 显示运行任务菜单时,只有 docker-run-2 任务显示:

enter image description here

实际上,只有 tasks.json 文件中的最后一个 docker run 任务被显示。如果我改变任务列表的顺序,那么 vscode 只会识别 docker-run-1。我在文档中搜索了一下,但没有找到任何关于这种行为的说明。有什么想法为什么会发生这种情况?我的想法是在 vscode 中设置两个调试配置用于两个应用程序,但运行不是最后一个的应用程序的调试配置会在 vscode 中产生错误:

enter image description here

1个回答

0
今天遇到了同样的问题。看起来在运行任务之间,“dockerRun”属性必须不同。在我的情况下,我只是向其中一个任务添加了一个测试环境变量,然后两个任务都出现在任务列表中。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接