You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

非sudo运行GPU版Docker容器时出现libnvidia-ml.so.1错误求解决

问题描述

尝试调用GPU运行Docker Hub的nvidia/cuda镜像,执行以下命令:

docker run -it --gpus all -v --name my-gpu nvidia/cuda:11.7.0-cudnn8-devel-ubuntu22.04

出现如下错误:

Unable to find image 'nvidia/cuda:11.7.0-cudnn8-devel-ubuntu22.04' locally

11.7.0-cudnn8-devel-ubuntu22.04: Pulling from nvidia/cuda
d19f32bd9e41: Already exists 
292e5e4dcc78: Already exists 
f027458ef473: Already exists 
ad9cd0a3350e: Already exists 
4c0e748dfb24: Already exists 
e40f2cbf6f5e: Pull complete 
3ac150f167fe: Pull complete 
dd80ebac36de: Pull complete 
fd2716719ab6: Pull complete 
e5ff1925518e: Pull complete 
Digest: sha256:1055a2fa47b063336f578f390131efa4bb02fbfe095608481fd32b6fca9b8b32
Status: Downloaded newer image for nvidia/cuda:11.7.0-cudnn8-devel-ubuntu22.04
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.
ERRO[0465] error waiting for container: context canceled 

使用sudo执行相同命令则可正常运行:

sudo docker run -it --gpus all --name my-container-03  nvidia/cuda:11.7.0-cudnn8-devel-ubuntu22.04

需实现无需sudo即可正常运行该容器。

解决方案

1. 将当前用户加入docker用户组

默认Docker命令需root权限执行,将用户加入docker组可免sudo操作:

  • 若docker组不存在,先创建组:
    sudo groupadd docker
    
  • 将当前用户添加到docker组:
    sudo usermod -aG docker $USER
    
  • 重新登录系统(或执行newgrp docker临时生效),使权限变更生效。

2. 修复nvidia-container-toolkit权限

错误提示libnvidia-ml.so.1无法访问,是因为普通用户缺少调用nvidia-container-cli的权限,需设置setuid:

  • 查找nvidia-container-cli的路径:
    which nvidia-container-cli
    
  • 通常路径为/usr/bin/nvidia-container-cli,执行以下命令:
    sudo chmod u+s /usr/bin/nvidia-container-cli
    

3. 验证配置

完成上述步骤后,重新执行命令(注意原命令中-v参数缺少挂载路径,需补充或移除):

docker run -it --gpus all --name my-gpu nvidia/cuda:11.7.0-cudnn8-devel-ubuntu22.04

内容的提问来源于stack exchange,提问作者S. Jay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:31:16