运行 Ubuntu VS Code 中的 NGC 容器

Run an NGC Container in VS Code on Ubuntu

我需要 运行 NVIDA GPU Cloud (NGC) container on Docker in Ubuntu and I want to use Visual Studio Code to edit, run and debug it. I have installed the VS Code Docker Extension 中的 Python 脚本并阅读文档,但 none 它似乎符合我的目的。

我已经按照 NGC docs 安装了 Docker 的 NVIDIA 容器运行时 (nvidia-docker2),现在我将在命令行上启动 NGC 容器 tarball

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

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

下载 NVIDA GPU Cloud (NGC) 容器.

Visual Studio中创建/home/bob/foobar.py 代码 VS 代码 Docker 分机

import ptvsd
import time
ptvsd.enable_attach(address = ('0.0.0.0', 5678))
ptvsd.wait_for_attach()
time.sleep(2)
print("all righty then")

在最后一行设置断点。

调试|添加配置

Docker:附加到节点

launch.json中添加到"configurations"

{
   "name": "Python Attach (Remote Debug ptsvd default)",
   "type": "python",
   "request": "attach",
   "pathMappings": [
       {
          "localRoot": "/home/bob", // You may also manually specify the directory containing your source code.
          "remoteRoot": "/home/bob" // Linux example; adjust as necessary for your OS and situation.
       }
    ],
            "port": 5678, // Set to the remote port.
            "host": "0.0.0.0" // Set to your remote host's public IP address.
},

打开一个终端window:

$ docker load -i foo.tar
$ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
nvidia/cuda           9.0-base            9dcd7cd95db6        2 weeks ago         135MB
nvcr.io/nvidia/cuda   latest              506c995952d1        7 weeks ago         2.74GB    

$ docker run -p 5678:5678 latest    

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

使用配置 "Python Attach (Remote Debug ptsvd default)" 启动调试器。它在断点处停止。