本地安装nvidia-docker问题记录

参考NVIDIA的教程.
一.

docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
ERRO[0018] error waiting for container: context canceled 

这里先尝试了github issue中的解决方案1,将 sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit拆分成

sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit

还是没有效果,这里因为在执行sudo apt-get update时老是报deepin的错误,所以接下来尝试卸载deepin, 这里尝试了很多种方式, 在进行如下两种操作后, sudo apt-get update不在显示和wine相关的错误.
 1. 使用命令sudo apt remove deepin* 卸载掉安装的wine软件
 2. 使用命令 find / -name '*wine\*' 在磁盘中找到wine的剩余文件,然后删除.

(base) wlj@wlj-OUC:~$ sudo find / -name '*wine*'
find: ‘/run/user/1000/gvfs’: Permission denied
/etc/apt/sources.list.d/deepin-wine.i-m.dev.list.save
/etc/apt/sources.list.d/deepin-wine.i-m.dev.list
/etc/apt/preferences.d/deepin-wine.i-m.dev.pref

之后在执行 sudo apt-get update 就可以了.然后又按照上面NVIDIA的教程重新走了一遍, 进行测试就没有问题了.

sudo docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi
Wed May  4 02:11:20 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 418.87.00    Driver Version: 418.87.00    CUDA Version: 10.1     |
|-------------------------------+----------------------+----------------------+
| 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 RTX 2070    Off  | 00000000:01:00.0 Off |                  N/A |
| 29%   61C    P0    45W / 175W |      0MiB /  7952MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
|   1  GeForce RTX 2070    Off  | 00000000:03:00.0 Off |                  N/A |
| 38%   41C    P0     1W / 175W |      0MiB /  7952MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|  No running processes found                                                 |
+-----------------------------------------------------------------------------+

但是此时执行nvidia-docker仍然报错.
二.

(base) wlj@wlj-OUC:~$ nvidia-docker
nvidia-docker: command not found

然后发现上面那个链接指导并不全面, 找到了NVIDIA-docker 的官方git, 在其中一个安装指导链接, 这里我就只执行了如下三个命令就可以使用NVIDIA-docker了.
 1.

curl https://get.docker.com | sh \
  && sudo systemctl --now enable docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
      && curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \
      && curl -s -L https://nvidia.github.io/libnvidia-container/$distribution/libnvidia-container.list | \
            sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
            sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt-get install -y nvidia-docker2

到此处, nvidia-docker 就可以使用了.
在这里插入图片描述 4. 当我在服务器上安装时,在第二的大问题上遇到了本地没有的错误,当我执行完二.1和 二.2的命令后,我又更新了一下,结果报错如下:

(base) ouc@ouc-Super-Server:~$ sudo apt-get update
E: Conflicting values set for option Signed-By regarding source https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ /: /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg != 
E: The list of sources could not be read.

这里参考这里的解决方案,删除了一些文件

(base) ouc@ouc-Super-Server:/etc/apt/sources.list.d$ ls
mysql.list                     rvm-ubuntu-smplayer-bionic.list       vscode.list
mysql.list.save                rvm-ubuntu-smplayer-bionic.list.save  vscode.list.save
nvidia-container-toolkit.list  teamviewer.list
nvidia-docker.list             teamviewer.list.save
(base) ouc@ouc-Super-Server:/etc/apt/sources.list.d$ sudo rm nvidia-*

然后我又从一开始走了一遍,到第二步的时候,我直接安装了NVIDIA-docker2,就成功了,奇奇怪怪。

(base) ouc@ouc-Super-Server:/etc/apt/sources.list.d$ sudo apt-get install -y nvidia-docker2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
(Reading database ... 248522 files and directories currently installed.)
Preparing to unpack .../nvidia-docker2_2.10.0-1_all.deb ...
Unpacking nvidia-docker2 (2.10.0-1) ...
Setting up nvidia-docker2 (2.10.0-1) ...

ok,服务器上的NVIDIA-docker也安装好了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nvidia-docker是一个基于Docker的工具,它允许用户在NVIDIA GPU上运行Docker容器,以便进行深度学习等计算密集型任务。"nvidia-docker: command not found"错误是由于系统无法找到nvidia-docker命令导致的。 这个问题可能有几种可能的原因。首先,你需要确认是否已经正确安装nvidia-docker。你可以通过在命令行中运行"nvidia-docker -v"来检查。如果显示错误消息或版本号,则表明nvidia-docker没有正确安装。 如果nvidia-docker安装,可以按照以下步骤进行安装: 第一步,确保你的系统环境已经安装DockerNVIDIA驱动程序。你可以通过运行"docker -v"和"nvidia-smi"命令来检查它们的安装情况。 第二步,从NVIDIA的GitHub仓库下载nvidia-docker的资源。你可以使用命令"curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -"下载并导入NVIDIA的GPG密钥。然后,你可以通过运行"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"命令将存储库添加到系统中。 第三步,运行以下命令来安装nvidia-docker: sudo apt-get update sudo apt-get install -y nvidia-docker2 在安装过程中可能会提示输入密码,请根据需要进行输入。 安装完成后,你可以再次运行"nvidia-docker -v"来检查nvidia-docker是否已成功安装。 如果已经按照上述步骤正确安装nvidia-docker,但仍然出现"nvidia-docker: command not found"错误消息,请检查你的系统环境变量是否正确配置,并确保nvidia-docker的可执行文件路径已正确添加到环境变量中。可以通过运行"echo $PATH"命令来查看环境变量的配置情况。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值