在Ubuntu上以VS Code运行NGC容器

时间:2019-04-24 18:36:27

标签: docker visual-studio-code nvidia ptvs nvidia-docker

我需要在Ubuntu的Docker上的NVIDA GPU Cloud (NGC) container中运行Python脚本,并且我想使用Visual Studio Code对其进行编辑,运行和调试。我已经安装了VS Code Docker Extension并阅读了文档,但似乎都不符合我的目的。

我遵循NGC docs,为Docker安装了NVIDIA Container Runtime(nvidia-docker2),现在在命令行上我将启动NGC容器tarball

docker load -i  foo.tar
sudo docker run {...}

如何配置VS Code,以便可以在此容器中运行和调试Python脚本?

1 个答案:

答案 0 :(得分:0)

下载 NVIDA GPU云(NGC)    容器

Visual Studio中创建 /home/bob/foobar.py    带有 VS Code Docker的代码    扩展程序

 导入ptvsd
导入时间
ptvsd.enable_attach(地址=('0.0.0.0',5678))
ptvsd.wait_for_attach()
time.sleep(2)
打印(“那么好吧”)
 

在最后一行设置一个断点。

调试|添加配置

Docker:附加到节点

launch.json 中添加到“配置”

  {
   “ name”:“ Python附加(默认为远程ptsvd调试)”,
   “ type”:“ python”,
   “ request”:“ attach”,
   “ pathMappings”:[
       {
          “ localRoot”:“ / home / bob”,//您也可以手动指定包含源代码的目录。
          “ remoteRoot”:“ / home / bob” // Linux示例;根据您的操作系统和情况进行必要的调整。
       }
    ],
            “ port”:5678,//设置为远程端口。
            “ host”:“ 0.0.0.0” //设置为远程主机的公共IP地址。
},
 

打开一个终端窗口:

  $ docker load -i foo.tar
$码头图片
储藏标签图像ID尺寸增加
nvidia / cuda 9.0-base 9dcd7cd95db6 2周前135MB
nvcr.io/nvidia/cuda最新506c995952d1 7周前2.74GB

$ docker run -p 5678:5678最新

root @ deadbeef:python -m pip install --user --upgrade ptvsd
root @ deadbeef:python foobar.py
 

使用配置“ Python Attach(默认为远程调试ptsvd)”启动调试器。它在断点处停止。