nvidia-docker :权限被拒绝



Docker新手问题在这里,所以请友善。

我知道之前可能会问这个问题,但我找不到与 nvidia-docker 相关的任何内容。 我完成了官方指南上的安装说明。

当我想测试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'.

我在这里找到了这个答案,但对于我的情况来说感觉有点不同。我对 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

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

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

如果你想以非root用户的身份运行docker,那么你需要把它添加到docker组中。

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

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

除了nischay goyal回答的内容之外,有时在将用户添加到docker组后,您必须执行

su - ${USER}

为了注销并重新登录。

最新更新