Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 为什么我的NVIDIA docker不工作?来自守护进程的错误响应?_Linux_Docker_Ubuntu_Tensorflow_Nvidia Docker - Fatal编程技术网

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

Linux 为什么我的NVIDIA docker不工作?来自守护进程的错误响应?,linux,docker,ubuntu,tensorflow,nvidia-docker,Linux,Docker,Ubuntu,Tensorflow,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.lis

我正在尝试安装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安装nvidia docker

现在尝试通过键入以下内容来检查它是否正确安装:

nvidia docker运行——rm nvidia/cuda nvidia smi

出现以下错误:

nvidia docker | 2018/11/06 13:09:24错误:获取权限时被拒绝 正在尝试连接到位于的Docker守护程序套接字 unix:///var/run/docker.sock: 得到 :拨号unix /var/run/docker.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下载docker nvidia时,shell会在
/usr/bin/
文件夹中找到它,因为该文件夹已声明为PATH变量


这同样适用于您下载的容器和本地系统上的不同用户。您可以调查此特定错误消息并在github上找到此问题:

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

$curl-s-Lhttps://nvidia.github.io/nvidia-docker/gpgkey |\sudo apt key add-distribution=$(./etc/os release;echo$ID$VERSION\u ID)curl-s-Lhttps://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list |\sudo-tee/etc/apt/sources.list.d/nvidia-docker.list

然后更新apt列表

$sudo apt获得更新

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

$sudo apt get安装-y nvidia-docker2

$sudo pkill-SIGHUP dockerd

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

$sudo-apt-get-remove-nvidia-384;sudo apt get安装nvidia-384

现在,唯一要做的就是测试您的环境,并确保所有内容都已正确安装。只需启动nvidia smi(系统管理界面)应用程序

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

输出与此类似:

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

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

|GPU名称持久化-M |总线Id显示A |易失性解聚。ECC| |风扇温度性能Pwr:使用率/上限|内存使用率| GPU Util Compute M|

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

|0特斯拉K80关闭| 00000000:00:1E.0关闭| 0| |不适用39C P083W/149W | 0MiB/11441MiB | 98%

违约| +-------------------------------+----------------------+----------------------+


参考资料:

要添加用户名,请执行以下操作:sudo usermod-aG docker