17

安装 docker-ce 后,我尝试安装 nvidia-docker。我按照这个:https ://github.com/NVIDIA/nvidia-docker安装 nvidia-docker。它似乎已正确安装。

我试图运行:

$ sudo docker run --runtime=nvidia --rm nvidia/cuda nvidia-smi
docker: Error response from daemon: Unknown runtime specified nvidia.
See 'docker run --help'.

虽然,这有效(没有 --runtime=nvidia):

$ docker container run -ti ubuntu bash

关于我的系统的一些附加信息:它是一个带有 8 个 GPU(Titan Xp)和 nvidia 驱动程序版本 387.26 的 ubuntu 服务器 16.04。我可以在主机系统上运行 nvidia-smi -l 1 并且它按预期工作。

$ dpkg -l | grep -E '(nvidia|docker)'
ii  docker-ce                              18.06.1~ce~3-0~ubuntu                        amd64        Docker: the open-source application container engine
ii  libnvidia-container-tools              1.0.0-1                                      amd64        NVIDIA container runtime library (command-line tools)
ii  libnvidia-container1:amd64             1.0.0-1                                      amd64        NVIDIA container runtime library
ii  nvidia-container-runtime               2.0.0+docker18.06.1-1                        amd64        NVIDIA container runtime
ii  nvidia-container-runtime-hook          1.4.0-1                                      amd64        NVIDIA container runtime hook
ii  nvidia-docker2                         2.0.3+docker18.06.1-1                        all          nvidia-docker CLI wrapper



$ cat /etc/docker/daemon.json 
{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}

我遇到过:https ://github.com/NVIDIA/nvidia-docker/issues/501 ,但我不确定我应该如何去做。

4

6 回答 6

3

实际上,您可以尝试通过以下命令重新启动 docker daemon。

sudo systemctl daemon-reload
sudo systemctl restart docker

或者您可以尝试重新启动系统。使 nvidia-docker 工作

于 2018-11-23T09:06:07.290 回答
2

看来您可能需要清除 docker 并重新安装它,如帖子中所示: github 问题

sudo apt remove docker-ce
sudo apt autoremove
sudo apt-get install docker-ce=5:18.09.0~3-0~ubuntu-bionic
sudo apt install nvidia-docker2
于 2019-02-07T10:29:03.150 回答
2

这就是我为 CentOS 7 解决上述问题的方法;希望它可以帮助任何有类似问题的人。

  • 添加必要的存储库以获取 nvidia-container-runtime:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.repo | sudo tee /etc/yum.repos.d/nvidia-container-runtime.repo
  • (可选)就我而言,我禁用了实验性存储库:
sudo yum-config-manager --disable libnvidia-container-experimental
sudo yum-config-manager --disable nvidia-container-runtime-experimental
  • 安装 nvidia-container-runtime 包:
sudo yum install nvidia-container-runtime
  • 更新 docker 守护进程:
sudo vim /etc/docker/daemon.json

带有 nvidia-container-runtime 的路径:

{
    "runtimes": {
        "nvidia": {
            "path": "/usr/bin/nvidia-container-runtime",
            "runtimeArgs": []
        }
    }
}
  • 最后,你需要让 docker 更新路径:
sudo pkill -SIGHUP dockerd
于 2020-08-27T05:43:26.243 回答
1

nvidia-docker github repo

curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list
sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo pkill -SIGHUP dockerd
于 2021-08-11T14:47:49.567 回答
1

来自nvidia-docker 常见问题

为什么我会收到错误消息Unknown runtime specified nvidia?确保运行时已注册到dockerd. 您还需要重新加载 Docker 守护程序的配置。

于 2019-09-25T03:34:08.857 回答
0

将--runtime=nvidia标记更改为--runtine=gpus 都希望它会运行

于 2021-10-25T17:41:43.590 回答