无法使用 GPU 运行非根 docker 容器

问题描述 投票:0回答:0

我从官方文档 docker desktop 全新安装了 docker desktop。 然后我按照官方文档nvidia container toolkit安装了NVIDIA Container Toolkit。 当我以非 root 权限运行 docker 时:

docker run --rm --gpus all nvidia/cuda:11.6.2-base-ubuntu20.04 nvidia-smi

它给出了以下错误:

docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error running hook #0: error running hook: exit status 1, stdout: , stderr: Auto-detected mode as 'legacy'
nvidia-container-cli: initialization error: load library failed: libnvidia-ml.so.1: cannot open shared object file: no such file or directory: unknown.

如果我使用sudo权限,错误是没有发生。另外,如果我运行一个非 gpu 容器(没有 --gpu all 选项)也很好。

我试过几个建议:

  • 将用户添加到 docker 组和视频组
  • 安装 nvidia-docker2
  • 尝试更改 ldconfig 路径:change ldconfig
  • 更改 GPU 权限:
sudo chmod 666 /dev/nvidia*
sudo chmod 666 /dev/nvidia-uvm*

  • 为 libnvidia-ml.so.1 设置权限
sudo chown root:video /usr/local/nvidia/lib64/libnvidia-ml.so.1
sudo chmod 664 /usr/local/nvidia/lib64/libnvidia-ml.so.1
  • 还有其他一些方法,我会在我记得时继续列出。

我现在真的很绝望。有没有人有什么建议?任何帮助将不胜感激。

docker ubuntu gpu nvidia nvidia-docker
© www.soinside.com 2019 - 2024. All rights reserved.