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)