将伪造的 nvidia 运行时添加到 docker 个运行时

Add fake nvidia runtime to docker runtimes

如何在我安装的 docker 中创建假的 nvidia 运行time,这样我就可以 运行 docker-compose 指定 [=13] 的文件=] 在我的笔记本电脑上? 使 docker --runtime=nvidia 等同于 docker --runtime=runc 的东西?

这将使我能够 运行 专为与笔记本电脑上的 GPU 一起使用而设计的容器。 当前,指定 runtime: nvidiadocker-compose 个文件导致:ERROR: for toto Cannot create container for service toto: Unknown runtime specified nvidia.

PS:我知道这很糟糕,但我需要测试容器,如果可能,不重写 docker-compose.yaml 或拥有多个 docker-compose 文件。

为此,我需要添加一个名为 nvidia 的运行时,。 但是因为我没有 docker-nvidia-runtime,所以我需要重定向到 runc:

$ find / -name runc 2>/dev/null
/usr/bin/runc

最终命令:

$ sudo tee /etc/docker/daemon.json <<EOF
{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/runc",
            "runtimeArgs": []
        }
    }
}
EOF
sudo pkill -SIGHUP dockerd