nvidia-docker:获得许可被拒绝

Posted

技术标签:

【中文标题】nvidia-docker:获得许可被拒绝【英文标题】:nvidia-docker : Got permission denied 【发布时间】:2020-09-18 13:56:58 【问题描述】:

这里是 Docker 新手问题,所以请善待。

我知道这可能以前被问过,但我找不到与 nvidia-docker 相关的任何内容。 我在the official guide上完成了安装说明。

当我想测试 Nvidia-docker 时:

docker run --gpus all nvidia/cuda:10.0-base nvidia-smi

我收到了这个错误:

(base) user@adminme:~$ docker run --gpus all --rm nvidia/cuda nvidia-smi
docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/containers/create: dial unix /var/run/docker.sock: connect: permission denied.
See 'docker run --help'.

我在这里找到了this answer,但我的情况感觉有点不同。我对 docker 很陌生,还在学习。让我知道你的想法?

这里有一些关于我的远程 Linux 机器的信息:

(base) user@adminme:~$ lspci | grep -i nvidia
02:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
02:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)

nvidia-smi 命令:

(base) user@adminme:~$ nvidia-smi
Sun May 31 01:12:25 2020       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 440.64.00    Driver Version: 440.64.00    CUDA Version: 10.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1080    Off  | 00000000:02:00.0 Off |                  N/A |
|  0%   33C    P8     9W / 215W |     17MiB /  8116MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      2545      G   /usr/lib/xorg/Xorg                            15MiB |
+-----------------------------------------------------------------------------+

码头工人版本:

(base) user@adminme:~$ docker --version
Docker version 19.03.10, build 9424aeaee9

【问题讨论】:

您链接的答案中的解决方案是否适合您?你的情况有什么不同? (这应该可以解决/var/run/docker.sock: permission denied 问题。) 不好意思说这只是sudo问题。 它不仅仅是 sudo,你可以按照答案所说的那样做,以避免在 docker 中使用 sudo 【参考方案1】:

快速解决方法是使用sudo 运行容器:

sudo docker run --gpus all nvidia/cuda:10.0-base nvidia-smi

如果您想以非 root 用户身份运行 docker,则需要将其添加到 docker 组中。

    如果 docker 组不存在,则创建它
sudo groupadd docker
    将您的用户添加到 docker 组。
sudo usermod -aG docker $USER
    运行以下命令或注销并再次登录并运行(这不起作用,您可能需要先重新启动计算机)
newgrp docker
    检查 docker 是否可以在没有 root 的情况下运行
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi

参考:-https://docs.docker.com/engine/install/linux-postinstall/

【讨论】:

【参考方案2】:

除了 nischay goyal 回答的内容之外,有时在将用户添加到 docker 组后你必须做的事情

su - $USER

为了退出并重新登录。

【讨论】:

以上是关于nvidia-docker:获得许可被拒绝的主要内容,如果未能解决你的问题,请参考以下文章

一旦被拒绝,如何通过弹出通知获得许可

在 docker 中使用 OpenGL 和 nvidia-docker2

在葡萄酒中安装viber时获得“访问被拒绝”(和playonlinux)

如果之前被拒绝许可,如何通过 USB 调试启用 apk 安装?

访问被拒绝导致许可证存储的创建失败,请使用提升的权限

尽管获得了完全许可,但 aws iam 用户访问被拒绝