我需要在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脚本?
答案 0 :(得分:0)
在 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)”启动调试器。它在断点处停止。