为什么我的NVIDIA docker不工作?来自守护程序的错误响应



我正在尝试安装NVIDIA docker。我使用了以下线路:

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 nvidia-docker

现在尝试通过键入来检查它是否安装正确

nvidia-docker run --rm nvidia/cuda nvidia-smi

出现此错误:

nvidia docker|2018/11/06 13:09:24错误:获取权限被拒绝正在尝试连接到位于的Docker守护进程套接字unix:///var/run/docker.sock:收到http://%2Fvar%2Run%2Fdocker.sock/v.38/version:dial unix/var/run/doker.sock:connect:权限被拒绝

后来我尝试了:

sudo nvidia-docker run --rm nvidia/cuda nvidia-smi

出现此错误:

使用默认标记:最新最新:从nvidia/cuda中提取473ede7ed136:拉动完成c46b5fa4d940:拉动完成93ae3df89c92:拉动完成6b1eed27cade:拉动完成d31e9163d0a5:拉动完成8668af631f88:拉动完成0d99f8ab6ae2:完成拉取74440c29d798:完成拉取摘要:sha256:a6b5fd418d1cd0bc6d8a60c1c4ba33670508487039b828904f8494ec29e6b450状态:已下载nvidia/cuda:最新docker:错误的更新映像来自守护进程的响应:OCI运行时创建失败:container_linux.go:348:启动容器进程导致"exec:\"nvidia smi\":在$PATH中找不到可执行文件":未知。

我用Ubuntu安装Linux。有人能帮我吗?

您有两个错误,它们都是自显式的。

首先,您的登录用户似乎不允许连接到docker守护进程。这是一个相当标准的问题,你只需要将你的用户登录添加到docker组,它就可以解决这个问题。您需要再次注销/登录才能使此更改生效。

其次,这也是一个相当标准的linux问题,您的shell有一个名为PATH的环境变量,它包含所有要查找命令二进制文件的文件夹,而该命令不包含二进制文件的完整路径。

例如,当您键入curl下载dockernvidia时,您的shell会在/usr/bin/文件夹中找到它,因为这个文件夹是在PATH变量中声明的。

同样适用于您下载的容器和本地系统上的不同用户。您可以调查此特定的错误消息,并在github上找到此问题:https://github.com/NVIDIA/nvidia-docker/issues/388

添加此注释仅供参考。

最新的标记已弃用,预计会出现以下错误:

查看已弃用:"最新的";上的标签https://hub.docker.com/r/nvidia/cuda

通过设置包的GPG和远程回购开始

$ 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

然后更新apt列表

$ sudo apt-get update

现在安装nvidia-docker(2(并重新加载docker守护进程配置

$ sudo apt-get install -y nvidia-docker2

$ sudo pkill -SIGHUP dockerd

Nvidia GPU首先需要安装驱动程序。以下是如何确保安装

$ sudo apt-get remove nvidia -384 ; sudo apt-get install nvidia-384

现在,剩下的唯一事情就是测试您的环境,并确保所有东西都安装正确。只需简单地启动nvidia-smi(系统管理界面(应用程序。

$ docker run --runtime=nvidia --rm nvidia/cuda:9.0-base nvidia-smi

输出将类似于此:

+-----------------------------------------------------------------------------+

|NVIDIA-SMI 390.77驱动程序版本:390.77||-------------------------------+----------------------+----------------------+

|GPU名称Persistence-M |总线Id Disp.A |易失性Uncorr。ECC||风扇温度性能Pwr:使用率/Cap |内存使用率| GPU Util Compute M.|

|==========================================+==================+=========================|

|0特斯拉K80关闭|00000000:00:1E.0关闭|0||N/A 39C P0 83W/149W | 0MiB/11441MiB | 98%

默认|+-------------------------------+----------------------+----------------------+

参考:https://cnvrg.io/how-to-setup-docker-and-nvidia-docker-2-0-on-ubuntu-18-04/

相关内容

最新更新