在安装 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,但我不确定我应该怎么做。
来自 nvidia-docker github 存储库:
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
实际上,您可以尝试通过以下命令重新启动 docker 守护程序。
sudo systemctl daemon-reload
sudo systemctl restart docker
或者,您可以尝试重新启动系统。 让 Nvidia-Docker 工作
这就是我解决 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
似乎您可能需要清除 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
来自 nvidia-docker 常见问题:
为什么我会收到错误
Unknown runtime specified nvidia
? 确保运行时已注册到dockerd
。您还需要重新加载 Docker 守护程序的配置。
如果您在安装 nvidia-docker 时遇到问题,请尝试运行此 shell 脚本。即使 nvidia-docker 崩溃,它也对我有用。
将--runtime=nvidia标签更改为--runtine=gpus 希望它能运行